我正在尝试学习Selenium,并且正在尝试为网页上的“关于我们”链接编写xpath定位器 - www.hdfc.com
我可以用链接作为:
link =关于我们
我尝试了以下内容并且工作正常:
xpath = // a [text()='关于我们']
但我想用xpath轴编写定位器,以便它足够灵活。有人可以指出我正确的方向吗?
答案 0 :(得分:0)
如果您提出了可以使用的最佳选择器ID,这是因为ID(很像类名等)根本不依赖于文档的结构,而是更多地关注元素的内容或目的。在这种情况下,你会想要像:
driver.findElements(By.Id("ic-aboutUs");
你应该注意的另一件事是,与使用CSS选择器相比,xpath表达式被认为是识别元素的更糟糕的方法,特别是如果你在IE中进行测试,因为xpath实现不是原生的,而且非常慢。我建议阅读http://saucelabs.com/resources/selenium/css-selectors以简要介绍一些示例,也可能有http://saucelabs.com/resources/selenium/selenium-xpath-marks-the-spot的内容,以便了解使用xpath的一些不利因素。
答案 1 :(得分:0)
使用以下x路径检测网页中的“关于我们”链接
xpath是通过引用直接父节点编写的 // li [@class ='展开'] / child :: span [text()='关于我们']
此xpath是使用菜单栏的父节点(整个菜单项的父节点)编写的 // ul [@class =' menu hdfc-investor'] / child :: li [contains(。,' About Us')]