首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法调用FirefoxDriver构造函数

无法调用FirefoxDriver构造函数
EN

Stack Overflow用户
提问于 2013-04-25 20:34:19
回答 2查看 7.2K关注 0票数 6

当我运行以下代码时,我不断地获得unsupportedCommandException:

代码语言:javascript
复制
System.setProperty("webdriver.firefox.bin","C:\\Program Files\\Mozilla Firefox\\Firefox.exe");
    FirefoxProfile firefoxProfile = new FirefoxProfile();

    String domain = "extensions.firebug.";
    firefoxProfile.setPreference("app.update.enabled", false);
    firefoxProfile.addExtension(new File("D:\\\\firebug-1.11.2-fx.xpi"));
    firefoxProfile.setPreference(domain + "currentVersion", "1.11.2");
    firefoxProfile.setPreference("extensions.firebug.cookies.enableSites", true);
    firefoxProfile.setPreference("extensions.firebug.allPagesActivation", "on");

    firefoxProfile.setPreference(domain + "framePosition", "bottom");
    firefoxProfile.setPreference(domain + "defaultPanelName", "cookies");

    WebDriver driver = new FirefoxDriver(firefoxProfile);
    driver.get("http://www.google.com/webhp?complete=1&hl=en");
    WebElement query = driver.findElement(By.name("q"));

Firefox版本: 20.0,firebug 1.11.2。

我收到的错误消息如下:

代码语言:javascript
复制
Exception in thread "main" org.openqa.selenium.UnsupportedCommandException: Bad request

Command duration or timeout: 437 milliseconds
Build info: version: '2.32.0', revision: '6c40c18', time: '2013-04-09 17:23:22'
System info: os.name: 'Windows XP', os.arch: 'x86', os.version: '5.1', java.version: '1.6.0_24'
Driver info: org.openqa.selenium.firefox.FirefoxDriver
    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:187)
    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.startSession(RemoteWebDriver.java:216)
    at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:111)
    at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:190)
    at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:183)
    at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:179)
    at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:96)
    at com.vinit.tiwari.TestCookieFirefox.main(TestCookieFirefox.java:48)
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-05-08 23:42:53

这可能与您的主机配置有关。

如果你有这样一行代码:

127.0.0.1 domain1 domain2 domain3 localhost

将其更改为:

127.0.0.1 localhost domain1 domain2 domain3

票数 12
EN

Stack Overflow用户

发布于 2016-02-09 12:33:28

根据@APWorsley提供的公认答案,此问题可能是由/etc/hosts文件中的环回适配器的多个别名引起的。

如果您不能方便地删除或重新排序别名(可能没有根访问权限,或者Puppet正在定期重写文件),因为Selenium issue #3280现在已经修复,所以有一个配置属性访问来说明和允许连接-从您的主机文件中的不同别名。

首先收集主机文件中loopback/localhost/127.0.0.1的所有可能的别名,然后设置Firefox驱动程序属性。例如,如果您有localhostlocalhost.localdomain,则可以像这样配置驱动程序:

代码语言:javascript
复制
FirefoxProfile profile = new FirefoxProfile();
profile.setPreference(FirefoxProfile.ALLOWED_HOSTS_PREFERENCE, "localhost,localhost.localdomain");
WebDriver driver = new FirefoxDriver(profile);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16214915

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档