TimeoutException при создании снимка экрана
Буквально вчера возникла проблема (раньше вроде тот же код работал правильно), что при запуске selenium с параметром --headless программа не находила окна ввода, которое спокойно находила в оконном режиме. Я попытался сделать скриншот страницы, так как на многих форумах писали что возможно дело с ssl сертификатами или что-то такое (хотя у меня стояли все опции, которые предлагались как решение проблемы). По итогу при создании скриншота вылетала ошибка. Я немного поэкспериментировал в отдельном файле и выяснил, что ошибка возникает только когда я использую SeleniumAuthenticatedProxy.
код:
from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager
from selenium_authenticated_proxy import SeleniumAuthenticatedProxy
options = webdriver.ChromeOptions()
options.add_argument("--headless")
options.add_argument("--mute-audio")
options.add_argument("--window-size=1920,1080")
options.add_argument('--ignore-certificate-errors-spki-list')
options.add_argument('--ignore-ssl-errors')
options.add_argument("--ignore-certificate-errors")
options.add_argument("--log-level=3")
options.add_argument("--disable-crash-reporter")
options.add_argument("--disable-in-process-stack-traces")
options.add_argument("--disable-logging")
options.add_argument("--disable-dev-shm-usage")
options.add_argument("--output=/dev/null")
proxy_helper = SeleniumAuthenticatedProxy(proxy_url="http://login:password@ip:port")
proxy_helper.enrich_chrome_options(options)
driver = webdriver.Chrome(options=options, service=webdriver.ChromeService(ChromeDriverManager().install()))
driver.implicitly_wait(10)
driver.delete_all_cookies()
driver.get('https://example.com/')
print(driver.current_url)
driver.get_screenshot_as_file("screenshot.png")
driver.quit()
Ошибка:
Exception has occurred: TimeoutException
Message: timeout: Timed out receiving message from renderer: 10.000
(Session info: chrome-headless-shell=124.0.6367.119)
Stacktrace:
GetHandleVerifier [0x0077C113+48259]
(No symbol) [0x0070CA41]
(No symbol) [0x00600A17]
(No symbol) [0x005ED104]
(No symbol) [0x005ED136]
(No symbol) [0x005EB484]
(No symbol) [0x005EB9DD]
(No symbol) [0x0060B54C]
(No symbol) [0x00684E96]
(No symbol) [0x00660D9C]
(No symbol) [0x00679B9C]
(No symbol) [0x00660B36]
(No symbol) [0x0063570D]
(No symbol) [0x006362CD]
GetHandleVerifier [0x00A36533+2908323]
GetHandleVerifier [0x00A73B4B+3159739]
GetHandleVerifier [0x0081505B+674763]
GetHandleVerifier [0x0081B21C+699788]
(No symbol) [0x00716244]
(No symbol) [0x00712298]
(No symbol) [0x0071242C]
(No symbol) [0x00704BB0]
BaseThreadInitThunk [0x74F5FCC9+25]
RtlGetAppContainerNamedObjectPath [0x77127C5E+286]
RtlGetAppContainerNamedObjectPath [0x77127C2E+238]
File "E:\user\программы\test.py", line 31, in <module>
driver.get_screenshot_as_file("screenshot.png")
selenium.common.exceptions.TimeoutException: Message: timeout: Timed out receiving message from renderer: 10.000
(Session info: chrome-headless-shell=124.0.6367.119)
Stacktrace:
GetHandleVerifier [0x0077C113+48259]
(No symbol) [0x0070CA41]
(No symbol) [0x00600A17]
(No symbol) [0x005ED104]
(No symbol) [0x005ED136]
(No symbol) [0x005EB484]
(No symbol) [0x005EB9DD]
(No symbol) [0x0060B54C]
(No symbol) [0x00684E96]
(No symbol) [0x00660D9C]
(No symbol) [0x00679B9C]
(No symbol) [0x00660B36]
(No symbol) [0x0063570D]
(No symbol) [0x006362CD]
GetHandleVerifier [0x00A36533+2908323]
GetHandleVerifier [0x00A73B4B+3159739]
GetHandleVerifier [0x0081505B+674763]
GetHandleVerifier [0x0081B21C+699788]
(No symbol) [0x00716244]
(No symbol) [0x00712298]
(No symbol) [0x0071242C]
(No symbol) [0x00704BB0]
BaseThreadInitThunk [0x74F5FCC9+25]
RtlGetAppContainerNamedObjectPath [0x77127C5E+286]
RtlGetAppContainerNamedObjectPath [0x77127C2E+238]