我没有对python selenium程序进行任何更改,并且3天前运行良好。现在,当我尝试使用它时,我得到:

浏览上下文已被丢弃
无法解码木偶的回复

知道是什么导致了代码外的原因吗? (因为未进行任何更改)

我正在使用firefox和geckodriver。收到这些错误后,我更新了firefox,geckodriver和selenium,但没有帮助。

最佳答案

此错误消息...

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

...表示 GeckoDriver 木偶之间的通信中断。

有关以下二进制版本项的更多信息:
  • Selenium服务器/客户端
  • GeckoDriver
  • Firefox

  • 此外,您的代码块和错误堆栈跟踪将为我们提供一些有关发生了什么错误的线索。但是,由于以下多种因素,可能会发生此问题:
  • Hang when navigation request removes the current browsing context一样,如果您在Selenium的焦点位于driver.navigate().back();内时使用了<iframe>,则会观察到此错误。
  • 对于Crash during command execution results in "Internal Server Error: Failed to decode response from marionette",由于 ctypes检查NULL指针是否反引用,所以也会发生此问题。
  • 您可以找到Selenium测试用例here。也许与其 panic ,不如通过清除任何状态并返回geckodriver再次接受新连接来更优雅地处理此问题。
  • 如果不使用二进制文件的兼容版本,则按照Failed to decode response from marionette - Error to open Webdriver using python也会发生此问题。

  • GeckoDriver, Selenium and Firefox Browser compatibility chart

    python - 通过Selenium使用GeckoDriver Firefox丢弃了浏览上下文-LMLPHP

    引用

    您可以在以下位置找到相关的详细讨论:
  • “Failed to decode response from marionette” message in Python/Firefox headless scraping script
  • 关于python - 通过Selenium使用GeckoDriver Firefox丢弃了浏览上下文,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54525301/

    10-12 21:20