在表中有多个这样的元素:<span class="currency"> 0</span>
.> 0
<td class="alignLeft label">Initial</td>
<td class="alignRight readOnly">
<span class="currency"> 0</span>
</td>
<td></td>
另一个元素位于HTML的这一部分:
<td class="alignLeft label">Initial</td>
<td class="alignRight readOnly">
<span class="currency"> 0</span>
</td>
<td></td>
<td class="alignRight readOnly">
<span class="currency"> 0</span>
</td>
<td></td>
另一个在这里:
<td class="alignLeft label">Initial</td>
<td class="alignRight readOnly">
<span class="currency"> 0</span>
</td>
<td></td>
<td class="alignRight readOnly">
<span class="currency"> 0</span>
</td>
<td></td>
<td class="alignRight readOnly">
<span class="currency"> 0</span>
</td>
谢谢。
你需要做这样的事情:
// this will return a list containing all elements with the currency class
var currencyElements = driver.FindElements(By.ClassName("currency"));
foreach (var element in currencyElements)
{
// access each individual element one by one
if (element.Text == "0")
// do something
}
这将返回具有货币类的所有元素。如果你想更具体一点,即:你只需要带有货币类的span元素,你需要使用OpenQA.Selenium.Support
包并做一个ByAll
:
var byAll = new OpenQA.Selenium.Support.PageObjects.ByAll(new By[]
{
By.ClassName("currency"),
By.TagName("span")
});
或者只是在第一个例子中检查element.TagName
。