如何在selenium中获取表行Id

时间:2013-03-14 11:41:24

标签: c# javascript testing selenium guid

目前,在页面上动态生成所有控件ID。并且为了遍历表,我需要获得由java脚本生成的行guid。

例如

<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。知道如何使用selenium获取此id。请指导。

更新:我正在使用selenium RC

1 个答案:

答案 0 :(得分: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("css=tr.passenger@id");

至于首先确定它,你必须向外工作。

也就是说,如果您想在示例中使用父tr,请使用此XPath:

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

那将为您提供元素,然后您查询它的ID。