2014-10-08 92 views
0

我目前使用的是用於python的硒綁定,並且想要評估JavaScript綁定,但我堅持使用示例應用程序! 正如我似乎無法理解,這個例子有什麼問題,任何幫助,將不勝感激。無法運行硒WebDriver JavaScript綁定

我的package.json文件看起來像這樣:

{ 
    "name": "selenium_tests", 
    "version": "0.0.0", 
    "repository": {}, 
    "devDependencies": { 
    "mocha": "^1.21.4", 
    "selenium-webdriver": "^2.43.5" 
    } 
} 

我的劇本是這樣的:

var webdriver = require('selenium-webdriver'); 

var driver = new webdriver.Builder(). 
    withCapabilities(webdriver.Capabilities.firefox()). 
    build(); 

driver.get('http://www.google.com'); 
driver.findElement(webdriver.By.name('q')).sendKeys('webdriver'); 
driver.findElement(webdriver.By.name('btnG')).click(); 
driver.wait(function() { 
    'use strict'; 
    return driver.getTitle().then(function (title) { 
     return title === 'webdriver - Google Search'; 
    }); 
}, 1000); 

driver.quit(); 

和錯誤堆棧上運行的情況如下時:

D:\selenium_node\node_modules\selenium-webdriver\lib\webdriver\promise.js:1745 
     throw error; 
      ^
Error: Wait timed out after 1039ms 
    at D:\selenium_node\node_modules\selenium-webdriver\lib\webdriver\promise.js:1412:29 
    at D:\selenium_node\node_modules\selenium-webdriver\lib\goog\base.js:1582:15 
    at webdriver.promise.ControlFlow.runInNewFrame_ (D:\selenium_node\node_modules\selenium-webdriver\lib\webdriver\promise.js:1640:20) 
    at notify (D:\selenium_node\node_modules\selenium-webdriver\lib\webdriver\promise.js:444:12) 
    at then (D:\selenium_node\node_modules\selenium-webdriver\lib\webdriver\promise.js:497:7) 
    at Object.webdriver.promise.asap (D:\selenium_node\node_modules\selenium-webdriver\lib\webdriver\promise.js:749:11) 
    at newFrame.then.e (D:\selenium_node\node_modules\selenium-webdriver\lib\webdriver\promise.js:1656:25) 
    at D:\selenium_node\node_modules\selenium-webdriver\lib\goog\base.js:1582:15 
    at webdriver.promise.ControlFlow.runInNewFrame_ (D:\selenium_node\node_modules\selenium-webdriver\lib\webdriver\promise.js:1640:20) 
    at notify (D:\selenium_node\node_modules\selenium-webdriver\lib\webdriver\promise.js:444:12) 
==== async task ==== 
    at webdriver.promise.ControlFlow.wait (D:\selenium_node\node_modules\selenium-webdriver\lib\webdriver\promise.js:1397:15) 
    at webdriver.WebDriver.wait (D:\selenium_node\node_modules\selenium-webdriver\lib\webdriver\webdriver.js:589:21) 
    at Object.<anonymous> (D:\selenium_node\original_sample.js:12:8) 
    at Module._compile (module.js:456:26) 
    at Object.Module._extensions..js (module.js:474:10) 
    at Module.load (module.js:356:32) 
    at Function.Module._load (module.js:312:12) 
    at Function.Module.runMain (module.js:497:10) 
    at startup (node.js:119:16) 

回答

2

在友善的人們支持硒的幫助下,我解開了這個謎,我只是簡單的愚蠢。 由於www.google.com會根據您的IP地址所在的位置自動重定向,因此我已登陸本地化的Google頁面,標題不再是「webdriver - Google搜索」。

只是用正確的本地化標題或阻止谷歌沒有使用

driver.get('http://www.google.com/ncr'); 

解決了這個問題進行本地化。