使用c#收集表webdriver中的所有div id

时间:2016-01-06 02:41:55

标签: c# selenium



<table id="tblRenewalAgent" cellspacing="0" cellpadding="0" border="0">
<tbody>
<tr>
<td>
<div class="form-row">
<div id="trStatus" style="">
<div id="trFees" class="form-row" style="">
<div id="trFees1" class="form-row ctrl-column" style="">
<div id="trFilingReceipt" class="form-row" style="">
<div id="trComments" class="form-row" style="">
<div id="trContact" class="form-row" style="">
<div id="trEmail" class="form-row" style="">
<div id="trPhone" class="form-row" style="">
<div id="trCell" class="form-row" style="">
<div class="form-row">
<div class="form-row ctrl-column">
<div id="trAmountPaid">
<div id="trBalanceDue" class="form-row">
</td>
</tr>
</tbody>
</table>
&#13;
&#13;
&#13;

这是我的HTML代码。 我想收集所有div id将它存储在一个数组字符串中。 我该怎么做?请帮帮我们。

3 个答案:

答案 0 :(得分:0)

我们的想法是在div中使用id查找所有table元素(具有id="tblRenewalAgent"属性)并使用GetAttribute获取id属性值

如果您使用LINQ

IList<IWebElement> all = driver.FindElements(By.CssSelector("table#tblRenewalAgent div[id]"));
List<string> ids = all.Select(iw => iw.GetAttribute("id"));

答案 1 :(得分:0)

要检索所有div id的使用,可以使用xpath:

By.xpath("//table[@id='tblRenewalAgent']/tr[1]/td[1]");

将div元素id的所有列表存储在列表中。使用以下代码:

IList<IWebElement> allDivElements = driver.findElements(By.xpath("//table[@id='tblRenewalAgent']/tr[1]/td[1]"));
for(int i=0; i < allDivElements.size(); i++){
     //here the print statement will print the value of each div tag element
     print("Value of ID= "+allDivElements.get(i).getAttribute("id"));
}

答案 2 :(得分:0)

最好的方法

IList<IWebElement> divCollection = driver.FindElement(By.Id("tblRenewalAgent")).FindElements(By.TagName("div"));