2014-10-08 2 views
0

저는 현재 Python 용 Selenium 바인딩을 사용하고 있으며 JavaScript 바인딩을 평가하고 싶지만 샘플 응용 프로그램과 관련되어 있습니다! 내가 이해할 수없는 것처럼,이 예제에서 무엇이 잘못 되었는가, 어떤 도움을 주시면 감사하겠습니다.Selenium 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'); 

이 문제를 해결하여 지역화하지 않는 구글을 방지 할 수 있습니다.

관련 문제