selenium:使用xpath定位器的自定义定位器

时间:2009-06-02 13:40:42

标签: testing web-applications xpath selenium

我想用selenium定义一个自定义定位器,我希望它使用现有的xpath定位器。

以下代码不起作用。我该怎么办?

PageBot.prototype.locateElementByNg= function(text, inDocument) {
    var xpath = doSomeManipulation(text);
    return PageBot.prototype.locateElementByXpath(xpath, inDocument);
};

1 个答案:

答案 0 :(得分:1)

看一下chrome://selenium-ide/content/locatorBuilders.js

快速解决方案如何基于xpath构建自己的:属性1:

LocatorBuilders.add('xpath:attributes',function(e){

只需将名称更改为“xpath:by_ng”

并将其用作Preffered属性中唯一的一个 const PREFERRED_ATTRIBUTES = ['by_ng'];

然后在

中使用它

LocatorBuilders.order = ['xpath:by_ng','xpath:link'];

我会为:

工作
<a id="some" name="other" by_ng="this will be catched">test</a>

如果您需要使用以下结构:

<a id="some" name="other" by_ng="this will be catched">
  <img />
  <span>Text</span>
  <p>Some text <b>bold</b></p>
</a>

然后需要进行一些额外的更改。