fandorin_official
@fandorin_official
Герой серии исторических детективов.

Почему в режиме браузера 'headless' Selenium не нажимает на кнопку?

Всем привет.
Может кто сталкивался, почему в режиме 'headless' Selenium не нажимает на кнопку, либо нажимает как-то "виртуально" (на деле нажатия не происходит).

То есть, если я пишу такой код:
browser.find_element_by_class_name('posting_submit.button-pro').click()

то в режиме обычного браузера кнопка нажимается. В режиме 'haedless' я получаю ошибку selenium.common.exceptions.ElementClickInterceptedException: Message: element click intercepted

Если я пишу такой код:
share = browser.find_element_by_class_name('posting_submit.button-pro')
browser.execute_script("arguments[0].click();", share)

либо такой:
share = browser.find_element_by_class_name('posting_submit.button-pro')
webdriver.ActionChains(browser).move_to_element(share).click(share).perform()

то кнопка нажимается в обоих режимах, но, в режиме 'headless' она якобы нажимается - нажатия на самом деле не происходит (остальная часть кода падает).

Может кто сталкивался с подобным? Как это можно победить?
  • Вопрос задан
  • 659 просмотров
Пригласить эксперта
Ответы на вопрос 2
@1001001
не используйте для haedless browser.maximize_window()
используйте конкретный размер --window-size=1200,600
Ответ написан
@j3qq4h7h2v2hch4m3hk86m8vw
в версии Chrome 109 и выше теперь нужно использовать
options.add_argument("--headless=new")
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы