原本selenium Java脚本在火狐能正常运行,可是现在出错。报错如下:
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:190:13
Exiting due to channel error.
Exiting due to channel error.
Exiting due to channel error.
八月 14, 2019 08:50:36 下午 org.openqa.selenium.remote.ErrorCodes toStatus
信息: HTTP Status: '404' -> incorrect JSON status mapping for 'unknown error' (500 expected)
Exception in thread "main" org.openqa.selenium.WebDriverException: newSession
Build info: version: '3.8.1', revision: '6e95a6684b', time: '2017-12-01T19:05:14.666Z'
System info: host: 'USERCHI-66SNOKV', ip: '192.168.0.104', os.name: 'Windows 10', os.arch: 'x86', os.version: '10.0', java.version: '1.8.0_152'
Driver info: driver.version: FirefoxDriver
remote stacktrace: WebDriverError@chrome://marionette/content/error.js:179:5
UnknownCommandError@chrome://marionette/content/error.js:473:5
despatch@chrome://marionette/content/server.js:282:13
execute@chrome://marionette/content/server.js:263:11
onPacket/<@chrome://marionette/content/server.js:236:15
onPacket@chrome://marionette/content/server.js:235:8
_onJSONObjectReady/<@chrome://marionette/content/transport.js:493:9
看到出现包含了很多关于“incorrect JSON status mapping” 的错误。
原因:
1.在此期间,火狐浏览器一直在自动升级,gecko driver和selenium的版本一直没变。
2.而火狐驱动gecko driver 在版本V22的时候重构了对于JSON的处理,不支持V2.0以上版本。
解决:
1.下载最新gecko driver v0.24.0。解压后,把最新gecko driver覆盖firefox目录下的gecko driver即可。