Selenium、XPath 节点集和 PHPUnit
使用像 (//div[@class='nav']//a)[5]
这样的表达式来使用 Selenium 检索特定元素(通过 phpunit 触发)由于某种原因永远不会成功。
Xpath 是有效的,使用其他 Xpath 表达式可以正常工作,但是一旦 Xpath 包含小括号,Selenium 服务器 (2.0rc2) 就会开始返回 ERROR: Element (//div[@class='nav']//a)[ 5] 未找到。
即使该元素存在。
这是 Selenium 的 PHP-Webdriver 的限制吗?是否有某种解决方法(获取节点集中的第 n 个元素)?
干杯
using an expression like (//div[@class='nav']//a)[5]
to retrieve a specific element with Selenium (triggered through phpunit) never suceeds for some reason.
The Xpath is valid, using other Xpath expressions works fine, but once the Xpath contains brakets the Selenium server (2.0rc2) starts returning ERROR: Element (//div[@class='nav']//a)[5] not found.
even it that element is present.
Is this a limitation of the PHP-Webdriver for Selenium, is there some kind of workaround (to get the nth element within a node-set)?
Cheers
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
从主题 Can't get nth node in Selenium 我看到你可以尝试添加前缀
xpath=
添加到您的表达式中以使其正常工作。From topic Can't get nth node in Selenium i see you can try prepending
xpath=
to your expression to get it work.这是最终的解决方案:
xpath=(//div[@class='nav']//a)[position()=5]
不确定为什么
[5]
不起作用,可能仍然是 phpunit 中的问题干杯
This was the final solution:
xpath=(//div[@class='nav']//a)[position()=5]
Not sure why
[5]
didn't work, might still be an issue within phpunitCheers