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中运行以记录脚本?
答案 0 :(得分:0)
在尝试找出特定Web元素的Selenium定位器时,自动XPath检测器通常不是一个好的选择。特别是带有数字索引的表达式(例如,您的li[3]
)可能会在删除,添加或使用列表/表项时发生更改。
定位元素的最佳方法始终是id,因为它始终是唯一的(除非你有无效的HTML)。但不幸的是,你的元素并没有。
对于<a>
元素,使用LinkText
来定位元素通常会很好,只要a)它是唯一的,并且b)您的网站没有&#39}。具有语言切换功能,通常会更改所有链接文本。
或者,您可以通过CSS选择器使用标记名称和类:
a.ng-binding
但是,这取决于您的页面结构,无论此定位器是否唯一。找到最佳定位器没有一般规则,只有好的和坏的策略。