playwright._impl._errors.TimeoutError: Timeout 30000ms exceeded

Пытаюсь на playwright написать код, который заходит на ru.SO и делает скриншот страницы. Код буквально скопировал из документации т.к. только начинаю изучать данную библиотеку. Проблема в том, что после открытия окна браузера программа падает с ошибкой
playwright._impl._errors.TimeoutError: Timeout 30000ms exceeded.
Я вижу как грузится сайт, но он будто не позволяет загрузиться до конца. Почитал о том, что это может быть связано с user-agent'ами, хотя в документации сказано

The User Agent is included in the device and therefore you will rarely need to change it however if you do need to test a different user agent you can override it with the userAgent property.

Я попробовал установить данное свойство самостоятельно, но это ничего не исправило. Подскажите, в чём проблема?

from playwright.sync_api import sync_playwright

with sync_playwright() as p:
    browser = p.chromium.launch(headless=False)
    cont = browser.new_context(
        user_agent='Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36'
    )
    page = browser.new_page()
    page.goto("https://ru.stackoverflow.com/")
    page.screenshot(path="example.png")
    browser.close()

Ответы (1 шт):

Автор решения: Armen Legran

Вы столкнулись с ошибкой TimeoutError в Playwright. Эта ошибка обычно возникает, когда определенная операция превышает указанный период ожидания, который в данном случае составляет 30000 миллисекунд (или 30 секунд).

Одной из распространенных причин этой ошибки является то, что страница, на которую вы пытаетесь перейти, загружается дольше, чем период ожидания. В вашем случае это может быть страница “https://ru.stackoverflow.com/”.

Вот несколько предложений по решению этой проблемы:

1) Увеличьте время ожидания: Вы можете увеличить лимит времени ожидания в методе goto. Например, вы можете установить время ожидания в 60000 миллисекунд (или 60 секунд) следующим образом:

page.goto("https://ru.stackoverflow.com/", timeout=60000)

2) Отключите время ожидания: Если вы не уверены во времени загрузки страницы, вы можете отключить время ожидания, установив его равным 0:

page.goto("https://ru.stackoverflow.com/", timeout=0)

3) Установите время ожидания по умолчанию: В качестве альтернативы, вы можете установить время ожидания по умолчанию для всех операций на странице:

page.set_default_timeout(0)
page.goto("https://ru.stackoverflow.com/")

Помните, что установка очень высокого или неограниченного времени ожидания может вызвать бесконечное зависание вашего скрипта, если страница по какой-то причине не загружается.

→ Ссылка