Docker Selenium Chromedriver: К сожалению, в автоматическом доступе к этой странице было отказано - PullRequest
0 голосов
/ 05 января 2019

Я использую хромовый драйвер селена в своем проекте на Python.

Приложение работает под Docker.

Когда я пытаюсь получить доступ к http://mobile.de веб-сайту, я получаю отказ, заявляя:

К сожалению, автоматический доступ к этой странице запрещен.

Вот мой код инициализации:

    CHROME_DRIVER_PATH = os.path.abspath('assets/chromedriver')
    chrome_options = ChromeOptions()
    chrome_options.binary_location = "/usr/bin/google-chrome"
    chrome_options.add_argument('--headless')
    chrome_options.add_argument('--no-sandbox')
    self.web_driver_chrome = webdriver.Chrome(executable_path=CHROME_DRIVER_PATH, options=chrome_options)

А вот мой код запроса на отправку:

def get_page_content(self, url):
    url = "https://www.mobile.de/"
    self.web_driver_chrome.get(url)
    print(self.web_driver_chrome.page_source)
    return self.web_driver_chrome.page_source

Можно ли как-нибудь пройти эту "автоматическую проверку доступа"?

1 Ответ

0 голосов
/ 05 января 2019

при использовании --headless добавляет HeadlessChrome к пользовательскому агенту

Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/71.0.3578.98 Safari/537.36

Решением является добавление аргумента для установки обычного пользовательского агента

user_agent = 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36'
chrome_options.add_argument('user-agent=' + user_agent)
...