通过不是硒夜视仪的功能

时间:2015-05-08 07:17:23

标签: selenium xpath nightwatch.js

我无法在selenium中使用默认的By命令。以下是我的剧本

driver.findElement(By.xpath("//*[@id='lotstatus_q']/div/table/tbody/tr"));

我的脚本失败了,结果是:By不是函数

我还需要安装其他任何物品吗?

所有其他By命令无效。

2 个答案:

答案 0 :(得分:1)

我认为你犯了一个错误,你无法从Nightwatch.js直接访问Selenium API!

Nightwatch只是对 WebDriver Wire Protocole 的重写(由Selenium作为REST API公开) https://code.google.com/p/selenium/wiki/JsonWireProtocol

但是你可以使用带有Nightwatch的XPath选择器:

client.useXpath().waitForElementVisible("//*[@id='lotstatus_q']/div/table/tbody/tr")

阅读有关XPath的文档:http://nightwatchjs.org/guide#using-xpath-selectors

答案 1 :(得分:0)

您不能将常规Java模式应用于NightWatchJS,而且NightWatch Apis也不能以这种方式运行...

请参阅有关如何使用http://nightwatchjs.org/api#commands

的API文档

我认为你正在尝试

browser.elements("css locator" , "value of your css", function (result){
     // here result is the return from calling selenium wire protocol /elements
     // Using the identifier of your CSS locators
})