am using beautiful-soup to extract the information or text present in the website. How to extract the text or link present in cookie pop up because these are not present in source code
this is not present in iframe tag, if hidden then how to eaxtract
currenturl = 'https://www.tresemme.com/cz/home.html'
r = requests.get(currenturl)
print(r.text)
The cookie banner is triggered by JS, so BeautifulSoup won't see it. You could use selenium to get the text.
Here's how:
import time
from bs4 import BeautifulSoup
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
options = Options()
options.headless = True
driver = webdriver.Chrome(options=options)
driver.get("https://www.tresemme.com/cz/home.html")
time.sleep(2)
soup = BeautifulSoup(driver.page_source, "html.parser").find("p", {"id": "onetrust-policy-text"})
driver.close()
print(soup.getText(strip=True))
Output (in my case it's in Czech):
Používáme soubory cookies (a podobné techniky), abychom mohli zlepšovat Vaše zkušenosti s naším webem. Soubory cookies Vám umožňují využívat některé funkce (jako je např. ukládání online nákupního košíku), funkce sdílení na sociálních sítích (pro Facebook, Instagram atd.) a přizpůsobovat zprávy a zobrazovat reklamy dle Vašich zájmů (na našich stránkách a dalších). Také nám pomáhají pochopit, jak je náš web používán. Přečtěte si našeOznámení o používání souborů cookienebo změňte předvolby souborů cookiezde(můžete tak učinit kdykoli). Kliknutím na políčko „Souhlasím“ nám dáváte aktivní souhlas s používáním souborů cookies.