如何将值与列表项进行比较,并使用硒单击所需的元素



>我在一个列表中有 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

在创建列表时,您可以轻松迭代列表项并调用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中存在的元素构建了定位器策略,您可能足以满足您的需求,否则您可能需要相应地更改定位器策略

相关内容

  • 没有找到相关文章

最新更新