我无法在selenium中使用默认的By命令。以下是我的剧本
driver.findElement(By.xpath("//*[@id='lotstatus_q']/div/table/tbody/tr"));
我的脚本失败了,结果是:By不是函数
我还需要安装其他任何物品吗?
所有其他By命令无效。
答案 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
})