您好,我已经开始在intelliJ IDEA中使用带有Java的WebDriver。我使用Maven导入了Selenium,并使用Selenium网页中提供的代码添加了依赖项。我下载了geckodriver并更新了Windows路径。我开始编码,但我得到的输出在我看来是一个错误。有人可以帮我理解发生了什么吗?
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
public class firstTry {
public static void main (String [] args){
WebDriver driver = new FirefoxDriver();
driver.quit();
}
}
Firefox打开和关闭没有任何问题,但在控制台中我有一个输出似乎是一个错误给我。如下:
1522649487586 geckodriver INFO geckodriver 0.20.0
1522649487598 geckodriver INFO Listening on 127.0.0.1:31435
1522649488194 mozrunner::runner INFO Running command: "C:\\Program Files\\Mozilla Firefox\\firefox.exe" "-marionette" "-profile" "C:\\Users\\Lolaika\\AppData\\Local\\Temp\\rust_mozprofile.0neo1vgzqEe7"
Unable to read VR Path Registry from C:\Users\Lolaika\AppData\Local\openvr\openvrpaths.vrpath
1522649490188 Marionette INFO Enabled via --marionette
Unable to read VR Path Registry from C:\Users\Lolaika\AppData\Local\openvr\openvrpaths.vrpath
Unable to read VR Path Registry from C:\Users\Lolaika\AppData\Local\openvr\openvrpaths.vrpath
Unable to read VR Path Registry from C:\Users\Lolaika\AppData\Local\openvr\openvrpaths.vrpath
1522649494926 Marionette INFO Listening on port 54726
1522649495670 Marionette WARN TLS certificate errors will be ignored for this session
abr 02, 2018 1:11:35 A.M. org.openqa.selenium.remote.ProtocolHandshake createSession
INFORMACIÓN: Detected dialect: W3C
1522649495872 addons.xpi WARN Exception running bootstrap method shutdown on activity-stream@mozilla.org: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsIObserverService.removeObserver]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: resource://activity-stream/lib/SnippetsFeed.jsm :: uninit :: line 125" data: no] Stack trace: uninit()@resource://activity-stream/lib/SnippetsFeed.jsm:125 < onAction()@resource://activity-stream/lib/SnippetsFeed.jsm:141 < _middleware/</<()@resource://activity-stream/lib/Store.jsm:51 < Store/this[method]()@resource://activity-stream/lib/Store.jsm:30 < uninit()@resource://activity-stream/lib/Store.jsm:153 < uninit()@resource://activity-stream/lib/ActivityStream.jsm:274 < uninit()@resource://gre/modules/addons/XPIProvider.jsm -> jar:file:///C:/Program%20Files/Mozilla%20Firefox/browser/features/activity-stream@mozilla.org.xpi!/bootstrap.js:80 < shutdown()@resource://gre/modules/addons/XPIProvider.jsm -> jar:file:///C:/Program%20Files/Mozilla%20Firefox/browser/features/activity-stream@mozilla.org.xpi!/bootstrap.js:196 < callBootstrapMethod()@resource://gre/modules/addons/XPIProvider.jsm:4419 < observe()@resource://gre/modules/addons/XPIProvider.jsm:2279 < GeckoDriver.prototype.quit()@driver.js:3270 < despatch()@server.js:557 < execute()@server.js:531 < onPacket/<()@server.js:506 < onPacket()@server.js:505 < _onJSONObjectReady/<()@transport.js:500
[Child 2272, Chrome_ChildThread] WARNING: pipe error: 109: file z:/build/build/src/ipc/chromium/src/chrome/common/ipc_channel_win.cc, line 346
[Child 2272, Chrome_ChildThread] WARNING: pipe error: 109: file z:/build/build/src/ipc/cUnable to read VR Path Registry from C:\Users\Lolaika\AppData\Local\openvr\openvrpaths.vrpath
Promise rejected while context is inactive: Message manager disconnected
[Parent 5308, Gecko_IOThread] WARNING: pipe error: 109: file z:/build/build/src/ipc/chromium/src/chrome/common/ipc_channel_win.cc, line 346
[Child 5336, Chrome_ChildThread] WARNING: pipe error: 109: file z:/build/build/src/ipc/chromium/src/chrome/common/ipc_channel_win.cc, line 346
[Child 5336, Chrome_ChildThread] WARNIN[Parent 5308, Gecko_IOThread] WARNING: pipe error: 109: file z:/build/build/src/ipc/chromium/src/chrome/common/ipc_channel_win.cc, line 346
[Child 8788, Chrome_ChildThread] WARNING: pipe error: 109: file z:/build/build/src/ipc/chromium/src/chrome/common/ipc_channel_win.cc, line 346
[Child 8788, Chrome_ChildThread] WARNING: pipe error: 109*** UTM:SVC TimerManager:registerTimer called after profile-before-change notification. Ignoring timer registration for id: telemetry_modules_ping
[GPU 10500, Chrome_ChildThread] WARN
###!!! [Child][MessageChannel::SendAndWait] Error: Channel error: cannot send/recv
1522649503244 geckodriver::marionette ERROR Failed to stop browser process
Process finished with exit code 0
我该怎么做才能解决这个问题?
答案 0 :(得分:3)
使用 GeckoDriver v0.20.0 和 Firefox Quantum v59.0.2(64位),您的代码块看起来不错,而且日志堆栈跟踪看起来同样非常好em>日志消息:
Promise rejected while context is inactive: Message manager disconnected
根据Mozilla Support Forum中的讨论,此错误似乎是隐私獾。简而言之,此问题是由未加载/正常工作的扩展引起的。
@Test
。Are unresolved promises rejected prior to a window.unload event?
好吧,正如我在我的回答中提到的,根据当前的实现,你的堆栈跟踪 fair 就足够了。但我个人没有在我的 localhost 上看到这个跟踪:
Promise rejected while context is inactive: Message manager disconnected
粗略的一些跟踪可能依赖于底层的 OS 。现在进行整个讨论Are unresolved promises rejected prior to a window.unload event?的底线似乎是:
卸载页面的承诺问题(或者通常是未加载页面中的脚本调用)没有被很好地指定并且不能互操作地实现,这是非常真实的。另请参阅https://bugzilla.mozilla.org/show_bug.cgi?id=1058695我们最终在Gecko中放入一些技术上不符合规范的缓解措施,因为技术上遵循规范要求在常见情况下泄漏世界......问题在于没有规范对于这个事件循环的东西现在,并且Promise的规范是ES6的一部分,它实际上并不承认领域在某种意义上需要消失的可能性,因此甚至没有提出这样的问题。 / p>
因此,结论是你可以提前比赛