2012-06-15 61 views
1

我正在嘗試檢測xpath或css,但是每次運行腳本時,div id和類名都會由於腳本失敗而更改。Selenium IDE:如何檢測xpath是否每次隨機生成div id的類?

<div class="yui-dt-bd" style="height: 300px; width: 100%;"> 
    <table id="yuievtautoid-0" summary="" style="margin-top: 0px;"> 
    <tr id="yui-rec28" class="yui-dt-rec yui-dt-first yui-dt-even yui-dt-selected" style=""> 
    <td id="yui-gen52" class="yui-dt23-col-professorId yui-dt-col-professorId yui-dt- sortable yui-dt-first" headers="yui-dt23-th-professorId "> 
<div id="yui-gen51" class="yui-dt-liner">1</div> 
</td> 
<td id="yui-gen44" class="yui-dt23-col-professorName yui-dt-col-professorName yui-dt-sortable yui-dt-last" headers="yui-dt23-th-professorName "> 
<div id="yui-gen43" class="yui-dt-liner">John Power</div> 
</td> 
</tr> 
</table> 
</div> 

我寫過xpath = // * [@ id =「yui-gen46」],但是id不斷變化。嘗試寫表格ID也。但它不起作用。 xpath = id('yuievtautoid-1')。

欣賞一些輸入。

+0

你想找個什麼節點? –

+0

Aleh Douhi的答案如下,適合你。你基本上是在XPath中尋找** contains **操作符。我唯一的評論是這似乎是你的網站不是爲可測試性而編寫的。如何測試一個網站,是硒測試的關鍵。 – Arran

回答

3

您可以指定未更改的類或標識的一部分。例如:

//*[contains(@class, 'col-professorName')] 

//*[contains(@id, 'yuievtautoid')] 

或CSS版本:

css=*[class*="col-professorName"] 
css=*[id^="yuievtautoid"] 
+0

也爲了使選擇更健壯,應用其他標準,例如父,子元素,'position()'等。 –

相關問題