Контекст просмотра был отброшен с помощью GeckoDriver Firefox через Selenium

Я не внес никаких изменений в свою программу python selenium, и она работала нормально 3 дня назад. Теперь, когда я пытаюсь использовать его, я получаю:

Контекст просмотра был отброшен Не удалось расшифровать ответ от марионетки

Есть идеи, что могло вызвать это за пределами кода? (так как никаких изменений не было сделано)

Я использую Firefox и Geckodriver. После того, как я получил эти ошибки, я обновил Firefox, Geckodriver и Selen, но это не помогло.

4 ответа

Это сообщение об ошибке...

Browsing context has been discarded
.
Failed to decode response from marionette

... подразумевает, что связь между GeckoDriver и Marionette была нарушена.

Еще немного информации о бинарных версиях:

  • Selenium Сервер / Клиент
  • GeckoDriver
  • Fire Fox

Кроме того, ваш блок кода и трассировка стека ошибок дали бы нам некоторые подсказки о том, что случилось. Однако эта проблема может возникнуть из-за следующих факторов:

Таблица совместимости браузеров GeckoDriver, Selenium и Firefox

supported_platforms_geckodriver_24

В Ubuntu 22.10 с использованием (подходящих, а не snap) Firefox и Selenium в Python я также получил эту ошибку после:

      driver.switch_to.alert.accept()

Решение для меня состояло в том, чтобы вернуться к контексту с помощью:

      def upload_file(driver, filepath):
    """Uploads a Ublock Origin backup (template) .txt file into the Ublock
    Origin extension."""
    driver.find_element("id", "restoreFilePicker").send_keys(filepath)
    time.sleep(1)
    driver.switch_to.alert.accept()
    time.sleep(1)
    # Switch back to first tab (and reload/restore it).
    new_window = driver.window_handles[0]
    driver.switch_to.window(new_window)

Этот ответ был дан в этом вопросе .

Я столкнулся с той же ошибкой на определенном сайте после успешного входа в систему и когда меня перенаправили на следующую страницу.

При проверке источника нового кода страницы в моем браузере Firefox я заметил некоторые детали плохого формата/качества HTML, которые исчезли после ручного обновления. (Я подозреваю, что это связано с отсутствием качества этого сайта в частности).

Чтобы исправить это, я начал каждый следующий шаг на новой странице с обновления на моем диске:

      def my_next_step(driver):
    driver.refresh()
    time.sleep(10)
    element=driver.switch_to_frame('iframe')
    .......

Это помогло мне решить проблемы с качеством сайта.

Я удалил размер окна, он работает без этой ошибки

Другие вопросы по тегам