我在列表中有18个名字,并希望在与另一个元素进行比较后点击该名称。
List<WebElement> list = driver.findElements(By.xpath("//*[@class='w-100 f7 pv2 ph1 mb2 bg-white-20 pointer']// following :: span[@class='v-mid']"));
Iterator<WebElement> att = list.iterator();
WebElement e;
while(att.hasNext()) {
e= att.next();
if(e.getText().equalsIgnoreCase("Rohit Sharma"));
{
e.click();
break;
}
以下是内部HTML代码
<div class="w-50 dib">
<img class="dib w2 h2 br-100 bg-dirty-green mr1 v-mid"
src="https://fanfight.com/images/player.png" alt="">
<span class="v-mid">Saurabh Tiwary</span> // i am taking this in my list and want to compare with a another name if both match it will select
</div>
<div class="dib tc ttu" style="width: 15%;">MI</div>
<div class="dib tc" style="width: 15%;">0</div>
<div class="dib tc" style="width: 15%;">7.2</div>
<div class="dib tc" style="width: 5%;"></div>
与上面的HTML代码一样,我有18个div
答案 0 :(得分:0)
在创建列表时,您可以轻松地遍历列表项目并调用click()
到匹配条件,如下所示:
List<WebElement> list = driver.findElements(By.xpath("//div[@class='w-50 dib']//span[@class='v-mid']"));
for(WebElement ele:list)
if(ele.getText().equalsIgnoreCase("Rohit Sharma"));
{
e.click();
break;
}
注意:在调用findElements()
时,我使用您提供的HTML中的元素构建了定位器策略,您可以满足您的需求或否则您可能需要相应地更改定位器策略。