我是Selenium的新手,也是Node.js的新手。我已經完成了npm安裝,並將chromedriver和geckodriver放在我的PATH目錄中。我在Mac OS X上運行「節點cheese.js」,我立刻得到:Selenium Webdriver Node.js
cheese.js:1
(function (exports, require, module, __filename, __dirname) { var driver = new webdriver.Builder().build();
ReferenceError: webdriver is not defined
at Object.<anonymous> (/Users/bjbarouch/Sites/cheese.js:1:80)
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)
at node.js:974:3
作爲參考,奶酪代碼:
var driver = new webdriver.Builder().build();
driver.get('http://www.google.com');
var element = driver.findElement(webdriver.By.name('q'));
element.sendKeys('Cheese!');
element.submit();
driver.getTitle().then(function(title) {
console.log('Page title is: ' + title);
});
driver.wait(function() {
return driver.getTitle().then(function(title) {
return title.toLowerCase().lastIndexOf('cheese!', 0) === 0;
});
}, 3000);
driver.getTitle().then(function(title) {
console.log('Page title is: ' + title);
});
driver.quit();
鑑於這是Selenium網站上的示例的複製和粘貼,我不知道它意味着它找不到webdriver。在JavaScript中沒有包含或導入的東西,並且沒有任何跡象表明任何以前的腳本應該被預先添加到我所展示的代碼中。因此,我不知道該如何解決它。 –
當我遵循其他在線示例,並從 開始selenium = require(「selenium-webdriver」); 即使它位於PATH上,我也會收到有關未找到chrome二進制文件的其他錯誤消息。 –
我更新了包含javascript工作示例的答案。你說得對,我們需要(「selenium-webdriver」),這相當於導入告訴腳本關於webdriver模塊。我能夠執行腳本,它啓動谷歌並搜索奶酪。參考:http://seleniumhq.github.io/selenium/docs/api/javascript/index.html –