【发布时间】:2018-06-18 15:44:22
【问题描述】:
当尝试使用 FirefoxDriver 的 .get() 方法使用 selenium 打开新 url 时,新 url 没有打开,而是出现以下异常的空白屏幕。
我的 Firefox 版本是 27 版本“selenium-2.39.0”的硒罐 在 ChromeDriver 和 IRDriver 的情况下,我会遇到同样的异常
Exception in thread "main" org.openqa.selenium.WebDriverException: f.QueryInterface is not a function
Command duration or timeout: 50 milliseconds
Build info: version: '2.39.0', revision: 'ff23eac', time: '2013-12-16 16:12:12'
System info: host: 'ANKUR-PC', ip: '169.254.81.96', os.name: 'Windows 7', os.arch: 'x86', os.version: '6.1', java.version: '1.7.0_40'
Session ID: 3e90ea0a-fce7-44c4-9df0-15231046ae45
Driver info: org.openqa.selenium.firefox.FirefoxDriver
Capabilities [{platform=XP, acceptSslCerts=true, javascriptEnabled=true, cssSelectorsEnabled=true, databaseEnabled=true, browserName=firefox, handlesAlerts=true, browserConnectionEnabled=true, webStorageEnabled=true, nativeEvents=false, rotatable=false, locationContextEnabled=true, applicationCacheEnabled=true, takesScreenshot=true, version=27.0.1}]
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at org.openqa.selenium.remote.ErrorHandler.createThrowable(ErrorHandler.java:193)
at org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:145)
at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:554)
at org.openqa.selenium.remote.RemoteWebDriver.get(RemoteWebDriver.java:276)
at Selenium.main(Selenium.java:14)
Caused by: org.openqa.selenium.remote.ErrorHandler$UnknownServerException: f.QueryInterface is not a function
Build info: version: '2.39.0', revision: 'ff23eac', time: '2013-12-16 16:12:12'
System info: host: 'ANKUR-PC', ip: '169.254.81.96', os.name: 'Windows 7', os.arch: 'x86', os.version: '6.1', java.version: '1.7.0_40'
Driver info: driver.version: unknown
at <anonymous class>.FirefoxDriver.prototype.get(file:///C:/Users/ANKUR/AppData/Local/Temp/anonymous1797840660297297360webdriver-profile/extensions/fxdriver@googlecode.com/components/driver_component.js:8720)
at <anonymous class>.DelayedCommand.prototype.executeInternal_/h(file:///C:/Users/ANKUR/AppData/Local/Temp/anonymous1797840660297297360webdriver-profile/extensions/fxdriver@googlecode.com/components/command_processor.js:10831)
at <anonymous class>.DelayedCommand.prototype.executeInternal_(file:///C:/Users/ANKUR/AppData/Local/Temp/anonymous1797840660297297360webdriver-profile/extensions/fxdriver@googlecode.com/components/command_processor.js:10836)
at <anonymous class>.DelayedCommand.prototype.execute/<(file:///C:/Users/ANKUR/AppData/Local/Temp/anonymous1797840660297297360webdriver-profile/extensions/fxdriver@googlecode.com/components/command_processor.js:10778)
我使用的代码是:
Proxy prox = new Proxy();
prox.setAutodetect(true);
DesiredCapabilities cap = new DesiredCapabilities();
cap.setCapability("browser", "firefox");
cap.setCapability(CapabilityType.PROXY,prox);
FirefoxDriver f= new FirefoxDriver(cap);
f.get("www.google.com");
【问题讨论】:
-
如果您想得到答案,请出示您的代码。
-
Barak manos 我已经添加了代码。我也尝试过不使用代理类和 DesiredCapabilities 类,但它仍然不起作用。
-
在最后一个命令中,尝试
f.get("http://www.google.com"); -
铺平它的工作原理。谢谢
标签: selenium