问题:我在div类msb-container中有一个项目列表。 。列表中有162个项目。我想点击列表中的第150个项目。还有一个滚动条,通过它我们可以去其他元素并选择它
html的外观如下:
<div class="mCSB_container" style="position:relative; top:0;">
<ul id="ul-countries">
<li>
<input id="country-3" type="checkbox" name="c:3">
<label for="country-3">Afghanistan</label>
</li>
<li>
<input id="country-6" type="checkbox" name="c:6">
<label for="country-6">Albania</label>
</li>
---other countries
</li>
</ul>
</div>
我的代码如何显示:
IList<IWebElement> countryList = driver.FindElements(By.XPath("//*[@id='ul-countries']/li"));
for (int i = 0; i <= countryList.Count; i++)
{
string temp = countryList.ElementAt(i).Text;
if (countryList.ElementAt(i).Text == "Brazil")
{
//do something
}
}
我得到了162个国家的正确数量,但我认为它们没有正确填充。当我尝试从第15个国家检索文本时,它给我空的结果。它只填充那些列表项目的文本可以在屏幕上看到。虽然当我检查元素时,我可以通过html看到列表项中的所有必需数据,但不是通过我的代码。我试着把睡眠放到但没有运气。
请提供您的意见以解决上述问题。 | 最诚挚的问候
答案 0 :(得分:0)
IList<IWebElement> countryList = driver.FindElements(By.XPath("//*[@id='ul-countries']/li"));
for (int i = 0; i <= countryList.Count; i++)
{
string temp = countryList.ElementAt(i).findElement(By.CSS("label")).getText();
if (temp.equals("Brazil"))
{
//do something
}
}