我一直在使用 Ruby 1.8.7 中的 Selenium WebDriver。大多数项目都可以通过某些东西轻松找到,brwsr.find_element(:link, 'Click Here')
但并非所有内容都可以通过这种方式访问(至少不能使用我所知道的 :link、:tag_name 等集合)。
因此,在浪费了数小时试图找到具有上述策略的元素之后,我偶然发现了一些示例 xpath。我以前从来没有费心去研究它,因为我看过很多关于 xpath 的帖子(主要是在 StackOverflow 上)。
我在 Pros and Cons 上找到了一篇 Google Groups 帖子,唯一的缺点是它在 IE 中速度较慢。由于我现在在 Linux 环境(以及 Firefox 和 Chrome)中完成所有工作,我不在乎它在 IE 中的速度较慢。
我已经使用 xpath 大约 2 周了,我的测试脚本的开发时间可能是它的一半。并且使用带有 find_element 的 xpath 似乎总是能抓住正确的元素,因为我曾经在上面描述的非 xpath 方法中遇到一些问题。
鉴于我看到的“如果可以的话,我真的想避免使用 xpath”评论的数量,我想知道我错过了什么。还是 xpath 像正则表达式,理解它的人喜欢它,所有那些从不费心学习它的人都被它迷惑了?