Как извлечь текст, присутствующий во всплывающем окне cookie, с помощью python?

#python #selenium-chromedriver #text-extraction #httpcookie

#python #selenium-chromedriver #извлечение текста #httpcookie

Вопрос:

я использую beautiful-soup для извлечения информации или текста, присутствующего на веб-сайте. Как извлечь текст или ссылку, присутствующие во всплывающем окне cookie, потому что они отсутствуют в исходном коде

этого нет в теге iframe, если он скрыт, то как eaxtract

исходный код скрытая всплывающая информация

 currenturl = 'https://www.tresemme.com/cz/home.html'
r = requests.get(currenturl)
print(r.text)
  

Ответ №1:

Баннер cookie запускается с помощью JS, поэтому BeautifulSoup его не увидит. Вы можете использовать selenium для получения текста.

Вот как:

 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))

  

Вывод (в моем случае на чешском языке):

 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.