2013-03-14 64 views
0

當前,在頁面上,所有的控制ID都是動態生成的。爲了遍歷表,我需要得到由java腳本生成的行GUID。我如何在硒中獲取表格行ID

e.g

<table id="tblPass" bgcolor="#ffffff" editmode="Full" style="width: 100%;"> 
<tr id="87425hdsfs98-38ad-48df-aa7b-j5jf94hs0l" class="passenger"> 
<td class="dragcolumn Adult pass"> 
<span class="PersonType"> Adult </span> 
</td> 

我需要一個行的id,所以我可以基於該ID列中輸入信息。因爲行的所有信息除了該id以外都是相同的。任何想法如何使用硒獲得此ID。請指導。

更新:我使用硒RC

回答

1

你需要先找到的元素,所以是這樣的:

var element = driver.FindElement(By.CssSelector("tr.passenger")); 
var rowID = element.GetAttribute("id"); 
/* RowID would be "87425hdsfs98-38ad-48df-aa7b-j5jf94hs0l" */ 

你編輯說你正在使用RC,這將是像這樣:

var id = selenium.GetAttribute("[email protected]"); 

至於確定它首先,你必須向外工作。

也就是說,如果你想在你的榜樣父tr,使用這個XPath:

//span[text()='Adult']/ancestor::tr 

這會讓你的元素,那麼你查詢它爲它的ID。

+0

所有行也具有相同的類名稱。那麼如何獲得下一行ID – sam 2013-03-14 11:49:57

+0

@sam,請參閱編輯。使用XPath。這可能是你唯一的方法。 – Arran 2013-03-14 11:53:10

+0

非常感謝。我嘗試了使用Xpath的建議,並且它出色地工作 – sam 2013-03-14 12:32:04