【问题标题】:WebDriverException: Message: [(NS_ERROR_FAILURE)" location: "JS frame :: chrome://marionette/content/proxy.js] with Selenium GeckoDriver and PythonWebDriverException:消息:[(NS_ERROR_FAILURE)”位置:“JS 框架 :: chrome://marionette/content/proxy.js] 与 Selenium GeckoDriver 和 Python
【发布时间】:2019-08-21 19:45:36
【问题描述】:

我正在从一个网站下载多个报告。每个报告都有自己的 URL。一些 URL 加载正常,没有问题。

但是有一个 URL 会产生以下错误。除查询参数外,所有 URL 都具有相同的模式。如果我在浏览器上打开 URL,它可以正常工作。

我正在使用 Selenium 和 Firefox 驱动程序。

下面是我的代码

if __name__ == "__main__":
firefox_options = Options()
#firefox_options.headless = True
driver = webdriver.Firefox(options=firefox_options, executable_path=firefox_driver_location)



logged_in = "no"
for query in sa360_query_array:
    print("query being processed is " + query )
    if  "270348" in query or "269756" in query:
        wait_time = 300
    else:
        wait_time = 15
    driver.get(query)
    print("Page wait time is " + str(wait_time))
    driver.implicitly_wait(300000)
    #print(driver.page_source)
    if logged_in !="yes":
        google_login(query,email_login,email_password) #This function logs into google account
        print("Sleeping 200 seconds")
        time.sleep(200)

    logged_in = "yes"

    #time.sleep(200)
    print("reading HTML")
    #print(driver.page_source)
    read_web = pd.read_html(driver.page_source)#The error occurs on this line

那个错误也指的是什么?

【问题讨论】:

  • 用文本格式的错误堆栈跟踪更新问题。

标签: python selenium firefox marionette geckodriver


【解决方案1】:

此错误消息...

WebDriverException: Message: [Exception...  "Failure"  nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: chrome://marionette/content/proxy.js :: sendReply_ :: line 276"  data: no]

...暗示 Marionette 在尝试读取/存储/复制page_source() 时抛出错误。

相关的HTML DOM / DOM Tree 会帮助我们以更好的方式调试问题。然而,问题似乎在于page_source() 非常巨大/大,超过了 Marionette 可以处理的最大值的最大值。您正在处理的可能是更大的string


解决方案

一个快速的解决方案是避免将page_source() 传递给变量并打印它以找出实际问题所在。

print(driver.page_source)

另一个需要关注的方面是pd.read_html(),我不太确定。


参考

您可以在以下位置找到一些相关的讨论:


结尾

文档链接:

【讨论】:

  • 与其他页面相比,这是一个非常长的页面。让我尝试打印出页面源代码,看看我能发现什么
  • @Quinnystar27 ...与其他页面相比,这是一个非常长的页面...正是我强调的可能它更大您正在处理的字符串在我的回答中。
猜你喜欢
  • 2019-06-30
  • 2021-12-01
  • 1970-01-01
  • 1970-01-01
  • 2021-10-05
  • 2021-03-27
  • 2019-08-01
  • 2020-06-05
  • 2019-03-03
相关资源
最近更新 更多