也许答案很简单,但是有谁知道,XPath的Selenium是否可以正常使用不是XML的HTML,即i。即包含开放标签?在我的情况下,这些是<col>
和<input>
。Selenium HTML开放标签
我问的原因是我们的自动化测试团队经常遇到问题,在某些情况下,Selenium XPath选择器不起作用,而同一XPath在同一页上选择元素,当我们在FirePath中使用它时, 例如。难道这是因为我们的HTML不是有效的XML吗?据我所知,XPath最初是为了处理XML数据而发明的。
也许答案很简单,但是有谁知道,XPath的Selenium是否可以正常使用不是XML的HTML,即i。即包含开放标签?在我的情况下,这些是<col>
和<input>
。Selenium HTML开放标签
我问的原因是我们的自动化测试团队经常遇到问题,在某些情况下,Selenium XPath选择器不起作用,而同一XPath在同一页上选择元素,当我们在FirePath中使用它时, 例如。难道这是因为我们的HTML不是有效的XML吗?据我所知,XPath最初是为了处理XML数据而发明的。
XPath在DOM上运行。浏览器生成一个DOM。 Selenium与浏览器交互。
处理HTML不应该导致它的问题。
Selenium应该很好,因为它运行通过DOM,所以HTML甚至损坏的HTML应该没问题。 我发现自动化测试的有用之处在于添加了测试人员使用的id或类,这似乎给出了更好更快的结果。
添加ID是一个好主意,但在我们的应用程序中需要很长时间,这就是为什么现在我们必须使用令人讨厌的XPath方法来选择元素。 – Vic 2012-08-06 16:11:30
我不相信Selenium的XPath实现。虽然Quentin的回答是正确的,但Selenium可能会遇到特定的XPath问题。如果遇到问题,最好提出一个关于特定XPath的问题。 – Alohci 2012-08-06 14:39:22
您的网页是否为有效的HTML?这只是XPath选择器出错了吗? (如果可能,是否尝试过其他选择器) – Arran 2012-08-07 08:15:58
有效性与HTML一样存在一些问题。我无法修复所有这些问题,因为它们大部分都来自GWT,比如tabIndex的负值或空'