Веб-драйвер Selenium и GDPR - PullRequest
0 голосов
/ 03 июля 2018

Некоторое время назад я написал простой скребок, который открывает браузер Chrome и удаляет некоторые данные с веб-сайта. Однако теперь каждый раз, когда я запускаю этот скрипт, он не открывает URL-адрес, который я предоставляю, а вместо этого перенаправляет на веб-сайт согласия GDPR. Я удалил --incognito mode из опций, но он все тот же. Chrome открывается, а затем происходит сбой сценария, потому что он автоматически перенаправляется на эту веб-страницу согласия GDPR. Как я могу обойти эту проблему?

Вот код для воспроизведения ошибки.

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.common.exceptions import TimeoutException
option = webdriver.ChromeOptions()
#option.add_argument("--incognito")
browser = webdriver.Chrome(executable_path='chromedriverpath', chrome_options=option)
rval=[]
browser.get("https://finance.yahoo.com/quote/AAPL/key-statistics?p=AAPL")
timeout = 10
WebDriverWait(browser, timeout)
values_element = browser.find_elements_by_xpath("//td[@class='Fz(s) Fw(500) Ta(end)']")
print(browser)
values = [x.text for x in values_element]
rval.append(values[8])

for title, value in zip(stockname, rval):
    print(title + ': ' + value)

evdict=dict(zip(stockname, rval))

1 Ответ

0 голосов
/ 02 июля 2019

Итак, чтобы обойти такое всплывающее окно, которое блокирует селен от очистки данных, которые мне нужно было добавить:

browser.find_element_by_xpath("//input[@type='submit' and @value='OK']").click()

Что бы нажать на соответствующую кнопку и закрыть окно для меня. Тогда Selenium работает без проблем.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...