无法在selenium 3.0-beta3和geckodriver 0.10中使用带selenium的Javascript启动Firefox';我们自己的样品

无法在selenium 3.0-beta3和geckodriver 0.10中使用带selenium的Javascript启动Firefox';我们自己的样品,javascript,node.js,selenium-webdriver,geckodriver,Javascript,Node.js,Selenium Webdriver,Geckodriver,我只是想从硒测试自己的样本开始学习它。 但是,在一切都设置好之后(Node.js,Selenium),当我想使用Selenium webdriver自己的示例时,它就不起作用了: 这是selenium提供的官方代码(名称为google_search.js): var webdriver = require('selenium-webdriver'), By = webdriver.By, until = webdriver.until; var driver = new web

我只是想从硒测试自己的样本开始学习它。 但是,在一切都设置好之后(Node.js,Selenium),当我想使用Selenium webdriver自己的示例时,它就不起作用了:

这是selenium提供的官方代码(名称为google_search.js):

var webdriver = require('selenium-webdriver'),
    By = webdriver.By,
    until = webdriver.until;

var driver = new webdriver.Builder()
    .forBrowser('firefox')
    .build();

driver.get('http://www.google.com/ncr');
driver.findElement(By.name('q')).sendKeys('webdriver');
driver.findElement(By.name('btnG')).click();
driver.wait(until.titleIs('webdriver - Google Search'), 1000);
driver.quit();
此代码位于
example
文件夹中,在Node.js cmd中,我将其cd到Node_modules\selenium webdriver\example,并将geckodriver放入此文件夹中,然后运行
Node google_search.js
结果如下:

C:\Users\username\node_modules\selenium-webdriver\lib\promise.js:2291
        throw error;
        ^

WebDriverError: Unable to parse new session response: {"error":"unknown error","
message":"Expected browser binary location, but unable to find binary in default
 location, no 'firefox_binary' capability provided, and no binary flag set on th
e command line"}
    at WebDriverError (C:\Users\username\node_modules\selenium-webdriver\lib\err
or.js:27:10)
    at C:\Users\username\node_modules\selenium-webdriver\lib\http.js:335:17
    at process._tickCallback (node.js:369:9)
From: Task: WebDriver.createSession()
    at Function.createSession (C:\Users\username\node_modules\selenium-webdriver
\lib\webdriver.js:366:24)
    at createGeckoDriver (C:\Users\username\node_modules\selenium-webdriver\fire
fox\index.js:497:27)
    at Driver (C:\Users\username\node_modules\selenium-webdriver\firefox\index.j
s:605:14)
    at Builder.build (C:\Users\username\node_modules\selenium-webdriver\index.js
:557:16)
    at Object.<anonymous> (C:\Users\username\node_modules\selenium-webdriver\exa
mple\google_search.js:44:6)
    at Module._compile (module.js:409:26)
    at Object.Module._extensions..js (module.js:416:10)
    at Module.load (module.js:343:32)
    at Function.Module._load (module.js:300:12)
    at Function.Module.runMain (module.js:441:10)
From: Task: WebDriver.navigate().to(http://www.google.com/ncr)
    at Driver.schedule (C:\Users\username\node_modules\selenium-webdriver\lib\we
bdriver.js:414:17)
    at Navigation.to (C:\Users\username\node_modules\selenium-webdriver\lib\webd
river.js:1042:25)
    at Driver.get (C:\Users\username\node_modules\selenium-webdriver\lib\webdriv
er.js:832:28)
    at Object.<anonymous> (C:\Users\username\node_modules\selenium-webdriver\exa
mple\google_search.js:46:8)
    at Module._compile (module.js:409:26)
    at Object.Module._extensions..js (module.js:416:10)
    at Module.load (module.js:343:32)
    at Function.Module._load (module.js:300:12)
    at Function.Module.runMain (module.js:441:10)
    at startup (node.js:139:18)
C:\Users\username\node\u modules\selenium webdriver\lib\promise.js:2291
投掷误差;
^
WebDriverError:无法分析新会话响应:{“错误”:“未知错误”,”
消息“:”应为浏览器二进制位置,但在默认情况下找不到二进制
位置,没有提供“firefox_二进制”功能,并且没有在上设置二进制标志
命令行“}
在WebDriverError(C:\Users\username\node\u modules\selenium webdriver\lib\err
或.js:27:10)
在C:\Users\username\node\u modules\selenium webdriver\lib\http.js:335:17
在进程中调用(node.js:369:9)
发件人:任务:WebDriver.createSession()
在Function.createSession(C:\Users\username\node\u modules\selenium webdriver
\lib\webdriver.js:366:24)
在createGeckoDriver(C:\Users\username\node\u modules\selenium webdriver\fire
fox\index.js:497:27)
在驱动程序(C:\Users\username\node\u modules\selenium webdriver\firefox\index.j
s:605:14)
在Builder.build(C:\Users\username\node\u modules\selenium webdriver\index.js
:557:16)
反对。(C:\Users\username\node\u modules\selenium webdriver\exa
mpe\google\u search.js:44:6)
在模块处编译(Module.js:409:26)
在Object.Module.\u extensions..js(Module.js:416:10)
在Module.load(Module.js:343:32)
在Function.Module.\u加载(Module.js:300:12)
位于Function.Module.runMain(Module.js:441:10)
From:Task:WebDriver.navigate().to(http://www.google.com/ncr)
在Driver.schedule(C:\Users\username\node\u modules\selenium webdriver\lib\we
bdriver.js:414:17)
在Navigation.to(C:\Users\username\node\u modules\selenium webdriver\lib\webd
river.js:1042:25)
在Driver.get(C:\Users\username\node\u modules\selenium webdriver\lib\webdriv
呃.js:832:28)
反对。(C:\Users\username\node\u modules\selenium webdriver\exa
mpe\google\u search.js:46:8)
在模块处编译(Module.js:409:26)
在Object.Module.\u extensions..js(Module.js:416:10)
在Module.load(Module.js:343:32)
在Function.Module.\u加载(Module.js:300:12)
位于Function.Module.runMain(Module.js:441:10)
启动时(node.js:139:18)

我做错什么了吗?有人能告诉我为什么官方示例不启动firefox吗?谢谢

在尝试使用Selenium 3.0.0运行C#应用程序时,我收到了相同的错误消息

问题是我使用的是x64 Geckodriver.exe。下载并将32位版本复制到我的bin文件夹后,一切正常

-罗伯特

-检查这个