如何遍历List< WebElement> [英] how to loop through List<WebElement>

查看:687
本文介绍了如何遍历List< WebElement>的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我需要帮助来获取List<WebElement>的xpath,以及如何遍历它,并从下面的代码中选择等于"2014 Benefits"的链接文本.

I need help in getting the xpath for List<WebElement> and how to loop through it and select the link text which is equals to "2014 Benefits" from the below code.

<tbody id="tblPriorEventsBody">

<tr>
    <td>01/01/2014</td>
    <td>
        <a class="openEvent aActive" onclick='DisplayEventYearElections("dvCurrentElections","2014","Benefits For 01/01/2014 Open Enrollment ( 2014 ) ","2e82be0c-f280-4502-9d98-cf995450442c");' href="#">
            2014 Benefits
        </a>
        <input id="hfOpenEventDefinationId" type="hidden" value="b991cf84-f197-413f-a3fb-21c5a1c0d70a"></input>
    </td>
    <td>N/A</td>
    <td>N/A</td>
</tr>

<tr>...</tr> // Each tr contains a link
<tr>...</tr>
<tr>...</tr>
<tr>...</tr>
<tr>...</tr>

</tbody>

我正在尝试以下代码:

List <WebElement> options = Driver.findElements(By.xpath("//tbody[@id='tblOpenEventsBody']//tr/a"));

System.out.println(" CLASS  Elements size " + options.size());

for (WebElement option : options) {

String Str = "2014 Benefits" // based on string text match I want to select

if("Str".equals(option.getText())){
    option.click();  
   break();
}

推荐答案

您可以做类似...

List<WebElement> links = driver.find elements(By.cssSelector('#tblPriorEventsBody td a'));

Iterator<WebElement> iter = links.iterator();

while(iter.hasNext()) {
    WebElement we = iter.next();

    if (we.text.equals("whatever") {
        we.click;
    // do something in else perhaps
    }
}

这篇关于如何遍历List&lt; WebElement&gt;的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆