您的位置:软件测试 > 开源软件测试 > 开源功能测试工具 > Selenium
在 Selenium 中使用 XPath
作者:网络转载 发布时间:[ 2014/1/3 14:13:03 ] 推荐标签:Selenium XPath

资源中的大多数教程都是重点都是在如何把 XPath 作为一个通用的 XML 处理工具来使用的 - 幸运的是在 [X]HTML 上使用 XPath 大大限制了它的范围。
我如何定位一个元素?

    使用上面提到的某个 Firefox 扩展并且在元素上点击右键,把结果粘贴到你的脚本的第二个参数。缺点: 这样得到的路径比较脆弱 (一个完整的路径像这样/html/body/div[1]/div[5]/div/table/tbody/tr/td/p/a[3]如果任何一个元素被加到了第三个 a 之前那么这个路径被破坏了,并且不同的浏览器也可能会把类似 tbody 这样的元素插入到不同的位置)
    尝试在你的代码中包含 id
    如果你不能得到 id,尝试选择一个对于页面来说的 class ('contentheading' etc) 并且从这里开始://div[@class='contentheading']/span[1]

Gotchas

    设置 selectors [1] [2] 等从 1 开始计数,而不是 0
    如果你在一个元素里面使用多个 class 譬如<div class="foo bar">) 你可以使用//div[contains(@class, "foo")]来寻找匹配的元素。
    不要忘了 id 不能有数字开头。
    不要忘了<a>元素有 name 而不是 id。

为什么这些 @#$%! XPath 在 IE6 下不能工作?!Why wont this @#$%! XPath work in IE6?!

    某些原因导致 XPath 表达式id('foo')/span在 IE6 下无法工作。尝试使用//div[@id='foo']/span替代它。
    //div[5][@class="foo"](在 document 中选择 class 为 foo 的第五个 div) 在 IE6 下不工作。尝试使用/descendant::div[@class="foo"][5]替代它。

软件测试工具 | 联系我们 | 投诉建议 | 诚聘英才 | 申请使用列表 | 网站地图
沪ICP备07036474 2003-2017 版权所有 上海泽众软件科技有限公司 Shanghai ZeZhong Software Co.,Ltd