我正在从一个网站下载多个报告。每个报告都有其自己的URL。某些网址加载正常,没有问题。
但是有一个URL会产生以下错误。除查询参数外,所有URL都具有相同的模式。如果我在浏览器中打开该URL,它将正常工作。
下面是我的代码
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
该错误也指什么?
答案 0 :(得分:0)
此错误消息...
WebDriverException: Message: [Exception... "Failure" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: chrome://marionette/content/proxy.js :: sendReply_ :: line 276" data: no]
...表示牵线木偶在尝试读取/存储/复制page_source()
时抛出了错误。
相关的HTML DOM / DOM Tree本可以帮助我们更好地调试问题。但是,问题似乎在于page_source()
确实很大/很大,超过了牵线木偶可以处理的最大值。可能是您要处理的string
更大。
一种快速的解决方案是避免将page_source()
传递给变量并将其打印出来以找出实际问题所在。
print(driver.page_source)
需要照顾的另一个方面是pd.read_html()
,我不确定。
您可以在以下位置找到一些相关的讨论