2009-06-02 42 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> 

然後將需要一些額外的變化。