在使用selenium IDE时如何在下面的例子中找到元素

时间:2016-03-31 10:09:57

标签: html xpath selenium-ide

Firebug显示:<a class="ng-binding" ng-click="goto(menu.MenuInfo.Href)">

FirePath显示:html/body/nav/div[1]/div[1]/ul/li[3]/a

当我使用Firebug或FirePath查找web元素时,它显示如上; 然后我将它复制到Selenium IDE Target文本并单击find按钮,但它找不到web元素。 如何找到Web元素并使其在Selenium IDE中运行以记录脚本?

1 个答案:

答案 0 :(得分:0)

在尝试找出特定Web元素的Selenium定位器时,自动XPath检测器通常不是一个好的选择。特别是带有数字索引的表达式(例如,您的li[3])可能会在删除,添加或使用列表/表项时发生更改。

定位元素的最佳方法始终是id,因为它始终是唯一的(除非你有无效的HTML)。但不幸的是,你的元素并没有。

对于<a>元素,使用LinkText来定位元素通常会很好,只要a)它是唯一的,并且b)您的网站没有&#39}。具有语言切换功能,通常会更改所有链接文本。

或者,您可以通过CSS选择器使用标记名称和类:

a.ng-binding

但是,这取决于您的页面结构,无论此定位器是否唯一。找到最佳定位器没有一般规则,只有好的和坏的策略。