使用像(//div[@class='nav']//a)[5]
这样的表达式来检索Selenium(通过phpunit触发)的特定元素,从来没有因某种原因而成功。
Xpath是有效的,使用其他Xpath表达式工作正常,但是一旦Xpath包含brakets,Selenium服务器(2.0rc2)就会开始返回ERROR: Element (//div[@class='nav']//a)[5] not found.
,即使该元素存在也是如此。
这是Selenium的PHP-Webdriver的限制,是否有某种解决方法(获取节点集中的第n个元素)?
干杯
答案 0 :(得分:1)
从主题Can't get nth node in Selenium我看到你可以尝试将xpath=
添加到表达式中以使其正常工作。
答案 1 :(得分:1)
这是最终的解决方案: xpath =(// div [@ class ='nav'] // a)[position()= 5]
不确定为什么[5]
无效,可能仍然是phpunit中的一个问题
干杯