2015-06-01 4 views
1

Я использую webdriverjs, чтобы открыть веб-сайт и выбрать элемент по его идентификатору. Код,Webdriverjs - By не определен

var webdriverjs = require('webdriverjs'), 
    client  = webdriverjs.remote({desiredCapabilities:{browserName:'phantomjs'}}).init(); 

client.url('www.google.com', function(err){ 
    client.findElement(webdriverjs.By.id('lst-ib')).sendKeys('duck duck go\n') 
}) 

Он бросает ошибку, как,

webdriverjs.By is undefined 

Как использовать By функцию в webdriverjs?

+0

"webdriverjs" устарел. Используйте [tag: webdriver-io]. –

ответ

0

На странице НПМ webdriverjs ...

DEPRECATED
Проект теперь называется WebdriverIO и переехал в webdriverio/webdriverio на GitHub. Пожалуйста, используйте $ npm install webdriverio, потому что этот проект NPM больше не поддерживается!

So require('webdriverio');, вероятно, лучший выбор. Вместо client.findElement(webdriverjs.By.id('lst-ib')).sendKeys('duck duck go\n')
просто
client.setValue('#lst-ib','duck duck go', function(err, res){ //some callback here });

+0

Saravana вы смогли реализовать это с помощью webdriver.io? – bowcot84

3

Я думаю, что вы все еще можете использовать webdriverjs, но их пример кода имеет ошибку

https://code.google.com/p/selenium/wiki/WebDriverJs

код в их примере

driver.findElement (By.name ("д")) SendKeys ("WebDriver.");

driver.findElement (By.name ("btnG")). Click(); .

должно быть

driver.findElement (webdriver.By.name ("д")) SendKeys ("WebDriver");

driver.findElement (webdriver.By.name ("btnG")). Click();

Я не уверен, почему это неверно на сайте.