我正在开发add以读取Web浏览器数据并将其存储到字典中。 在此过程中,我需要按ID访问数据,但是ID在页面上不是唯一的。页面看起来像这样。
<div id="ID1">
<tbody>
<tr>
<td id="1000" data-field="1">
text
</td>
</tr>
</tbody>
<div id="ID2">
<tbody>
<tr>
<td id="1000" data-field="2">
Some other text
</td>
</tr>
</tbody>
两个div元素都在同一页面上
当我通过ID获得元素时,它只会给我第一个元素,而不是第二个元素。
这是我的代码
HtmlElement myElements = webBrowser1.Document.GetElementById("ID2");
HtmlElement myElements2 = myElements.Document.GetElementById("1000");
if (myElements2.InnerText != null)
{
//Do something
}
如何通过ID获取第二个元素的内部文本
答案 0 :(得分:0)
这是我想出的最好,最简单的答案 我发现数据字段是页面中的唯一值,因此我遍历了元素并将其与数据字段进行了比较
HtmlElement Buildingcontacts = webBrowser1.Document.GetElementById("ID2");
HtmlElementCollection ifiels = Buildingcontacts.Document.GetElementsByTagName("td");
foreach (HtmlElement element in ifiels)
{
string datafieldx = element.GetAttribute("data-field");
if (datafieldx == "2")
{
if (element.InnerText != null)
{
//do Somthing
}
}
}