我想用selenium定义一个自定义定位器,我希望它使用现有的xpath定位器。
以下代码不起作用。我该怎么办?
PageBot.prototype.locateElementByNg= function(text, inDocument) {
var xpath = doSomeManipulation(text);
return PageBot.prototype.locateElementByXpath(xpath, inDocument);
};
答案 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>
然后需要进行一些额外的更改。