我正在尝试使用div
搜索指定XPath
下的所有div id
。 div id
随机生成并且无法修复,因此使用部分ID方法进行搜索,因为div id
的某些文字是常量。_ariaId_
是id,它将是常量,数字将附加到它上面。 s trail。
HTML网页代码。
//some more HTML code before this. Trimmed for clarity.
<div tabindex="-1" data-convid="AAQkADBjMGZiZGFlLTE4ZmEtNGRlOS1iMjllLTJmOGZkNGRhZmIzNQAQAOTK5G8Pok9JkIMV8KU8bI4="
data-time="2017-03-01T20:35:37+05:30" id="_ariaId_299">
</div>
<div tabindex="-1" data-convid="AAQkADBjMGZiZGFlLTE4ZmEtNGRlOS1iMjllLTJmOGZkNGRhZmIzNQAQAOTK5G8Pok9JkIMV8KU8bI4="
data-time="2017-03-01T20:29:41+05:30" id="_ariaId_281">
</div>
<div tabindex="-1" data-convid="AAQkADBjMGZiZGFlLTE4ZmEtNGRlOS1iMjllLTJmOGZkNGRhZmIzNQAQAHnhaFwb40sGj+pN9p736NE="
data-time="2017-03-01T20:25:14+05:30" id="_ariaId_271">
代码我使用获取符合搜索条件的所有数据,其中也包含div id
。
IWebElement baseTable = driverGC.FindElement(By.ClassName("conductorContent"));
// gets all table rows
ICollection<IWebElement> rows = baseTable.FindElements
(By.XPath("//*[@id='primaryContainer']/div[5]/div/div[1]/div/div[4]/div[3]
/div/div[1]/div/div/div/div[5]/div[4]/div[1]/div[3]/div[1]/div/div/div[2]
/div[starts-with(@id, '_ariaId_')]"));
foreach (var row in rows)
{
//Do something....
}
这为我提供了满足但条件的所需倍数div
我的错误id
的预期
当前
调试时,在id。
中获取以下数据我坚持这一点,不知道这些来自ids
的地方。其他领域正确。
答案 0 :(得分:2)
您看到的{Element(id=0.0xxxxxx)}
不是HTML元素的ID,而是IWebElement的ID。
如果您想获取所有单个HTML元素的ID,请尝试使用
foreach(var row in rows)
{
string elementID = row.GetAttribute("id");
}