selenium - 一段时间后Geckodriver突然停止工作并且日志停止生成
问题描述
以下是 geckdriver 日志。
JavaScript warning: https://xxxxx, line 1: String.toLowerCase is deprecated; use String.prototype.toLowerCase instead
1571180445730 Marionette INFO Stopped listening on port 56930
[Child 11304, Chrome_ChildThread] WARNING: pipe error: 109: file z:/build/build/src/ipc/chromium/src/chrome/common/ipc_channel_win.cc, line 346
[Child 11304, [Parent 15620, Gecko_IOThread] WARNING: pipe error: 109: file z:/build/build/src/ipc/chromium/src/chrome/common/ipc_channel_win.cc, line 346
[Child 18764, Chrome_ChildThread] WARNING: pipe error: 109: file z:/build/build/src/ipc/chromium/src/chrome/common/ipc_channel_win.cc, line 346
[Child 1876[Parent 15620, Gecko_IOThread] WARNING: pipe error: 109: file z:/build/build/src/ipc/chromium/src/chrome/common/ipc_channel_win.cc, line 346
[Child 18528, Chrome_ChildThread] WARNING: pipe error: 109: file z:/build/build/src/ipc/chromium/src/chrome/common/ipc_channel_win.cc, line 346
[Child 18521571193870646 mozrunner::runner INFO Running command: "C:\\Program Files\\Mozilla Firefox\\firefox.exe" "-marionette" "-foreground" "-no-remote" "-profile" "C:\\Users\\xxxxx\\AppData\\Local\\Temp\\rust_mozprofile.wefGvenxtjuS"
1571193871155 addons.webextension.screenshots@mozilla.org WARN Loading extension 'screenshots@mozilla.org': Reading manifest: Invalid host permission: resource://pdf.js/
1571193871155 addons.webextension.screenshots@mozilla.org WARN Loading extension 'screenshots@mozilla.org': Reading manifest: Invalid host permission: about:reader*
1571193874489 Marionette INFO Listening on port 59485
1571193874542 Marionette WARN TLS certificate errors will be ignored for this session
JavaScript error: https://xxxxx, line 2: ReferenceError: $ is not defined
console.error: BroadcastService:
receivedBroadcastMessage: handler for
remote-settings/monitor_changes
threw error:
Message: Error: Polling for changes failed: NetworkError when attempting to fetch resource..
Stack:
remoteSettingsFunction/remoteSettings.pollChanges@resource://services-settings/remote-settings.js:750:13
JavaScript warning: https://xxxxx, line 1: String.toLowerCase is deprecated; use String.prototype.toLowerCase instead
1571195357820 Marionette INFO Stopped listening on port 59485
[Parent 16976, Gecko_IOThread] WARNING: pipe error: 109: file z:/build/build/src/ipc/chromium/src/chrome/common/ipc_channel_win.cc, line 346
[Child 19196, Chrome_ChildThread] WARNING: pipe error: 109: file z:/build/build/src/ipc/chromium/src/chrome/common/ipc_channel_win.cc, line 346
[Child 15192, Chrome_ChildThread] WARNING: pipe error: 109: file z:/build/build/src/ipc/chromium/src/chrome/common/ipc_channel_win.cc, line 346
[Child 1[Parent 16976, Gecko_IOThread] WARNING: pipe error: 109: file z:/build/build/src/ipc/chromium/src/chrome/common/ipc_channel_win.cc, line 346
[Child 17100, Chrome_ChildThread] WARNING: pipe error: 109: file z:/build/build/src/ipc/chromium/src/chrome/common/ipc_channel_win.cc, line 346
[Child 1
日志在这里停止生成,即使我强制关闭 Firefox 浏览器,geckodriver 也没有任何动作。测试脚本也无法终止。
在大多数情况下,如果我强制关闭浏览器,测试将被终止并且测试失败。
我怎么解决这个问题?
以下是我的 Firefox 设置:
fp = webdriver.FirefoxProfile()
fp.set_preference("dom.webnotifications.enabled", False)
fp.set_preference("dom.push.enabled", False)
fp.set_preference("app.update.auto", False)
fp.set_preference("app.update.doorhanger", False)
fp.set_preference("app.update.service.enabled", False)
fp.set_preference("app.update.url", "https://do.not.update")
fp.set_preference("app.update.checkInstallTime", False)
fp.set_preference("app.update.silent", True)
fp.set_preference("app.update.download.attempts", 0)
fp.set_preference("browser.search.update", False)
fp.set_preference("extensions.update.enabled", False)
fp.set_preference("services.sync.prefs.sync.extensions.update.enabled", False)
fp.set_preference("app.update.interval", 2592000)
fp.set_preference("app.update.link.updateAvailableWhatsNew", "no-update-available-whats-new")
fp.set_preference("app.update.link.updateManualWhatsNew", "no-update-manual-whats-new")
fp.set_preference("browser.download.folderList", 2)
fp.set_preference("browser.download.manager.showWhenStarting", False)
fp.set_preference(downloadDIR, os.getcwd())
fp.set_preference("browser.helperApps.alwaysAsk.force", False)
fp.set_preference("browser.helperApps.neverAsk.saveToDisk", "text/plain,text/csv,text/html,application/octet-stream,application/force-download,application/pdf,application/binary,application/json,application/vnd.ms-excel,application/zip")
fp.set_preference("pdfjs.disabled", True)
self.driver = webdriver.Firefox(firefox_profile=fp)
解决方案
看起来这是一些权限问题。1571193871155 addons.webextension.screenshots@mozilla.org WARN 加载扩展'screenshots@mozilla.org':阅读清单:无效的主机权限:resource://pdf.js/ 1571193871155 addons.webextension.screenshots@mozilla.org WARN 加载扩展' screenshots@mozilla.org':阅读清单:无效的主机权限:about:reader*
您正在运行的脚本无权访问您尝试使用脚本访问的扩展程序。
推荐阅读
- java - 如何使用 JLabel 获取 JFrame?尝试时出错
- python - 如何与dict一起使用join
- reactjs - 我应该在哪里实施 Firebase 身份验证?
- arduino - 带有 SAM3X8E(Arduino Due)的 FreeRTOS 10 xTaskCreate 未运行
- calibre - 口径编辑的书内容未保存
- r - R – 如何为具有接近值的匹配数据提供一个通用 ID,并为配对测试安排数据帧(例如来自 Hmisc::find.matches() )
- reactjs - 离子反应中的反应挂钩(使用状态)错误
- sql - SQL - 按另一列的特定值分组的特定列的总和
- python - 当我有一个数据框时,为什么 Python 会告诉我 **TypeError: unhashable type: 'list'**?
- python - Webdriver不返回一些数据