2009-06-02 84 views
0

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

下面的代码不起作用。我应该怎么做?

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

回答

1

看一看铬://selenium-ide/content/locatorBuilders.js

快速解决方案,您如何构建基于XPath的自己的一个:属性之一:

LocatorBuilders。加( '的XPath:属性',函数(E){

只是改变名称 '的XPath:by_ng'

,并把它作为较受欢迎的唯一一个属性 const PREFERRED_ATTRIBUTES = ['by_ng'];

然后在

LocatorBuilders.order =使用它[ '的xpath:by_ng', '的xpath:链接'];

我将努力为:

<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> 

然后将需要一些额外的变化。