java - 通过迭代表比较表中的值并选择该特定值前面的复选框
问题描述
下面是我的代码,它在执行时没有显示任何错误,但没有单击复选框。列出列中的所有 Web 元素并获取所需的标题。
公共无效reviewProcessECL(){
//to catch all web elements into list
List<WebElement> myList=driver.findElements(By.xpath("//table/tbody/tr/td[5]"));
//myList contains all the web elements
//if you want to get all elements text into array list
List<String> all_elements_text=new ArrayList<>();
for(int i=0; i<myList.size(); i++) {
all_elements_text.add(myList.get(i).getText());
String id= myList.get(i).getText();
if(id.contains(tdata.getProperty("Letter_Subject"))) {
i++;
driver.findElement(By.xpath("//table/tbody/tr["+i+"]/td[11]")).click();
driver.findElement(By.xpath("//table/tbody/tr["+i+"]/td[11]//div[@class='dropBox']//a[contains(text(),'Add Works')]")).click();
}
}
}
解决方案
试试这样的,
public void clickOnDropDown(String dropDownValue) {
driver.findElement(By.xpath("yourXpath")).click();// click the dropdown
List<WebElement> stroreValueFromDropDown = driver.findElements(By.xpath("yourXpath"));// store dropdown values
for (WebElement list : stroreValueFromDropDown) { //iterate through the dropdown
String listValue = list.getText();// get text
if (listValue.contains(dropDownValue)) {// compare dropdown and expected text
list.click();// click when expected value is found
break;
}
}
}
推荐阅读
- java - 无法将数组作为正文参数传递:无效数组
- python - Python如何在两个列表之间找到一个单词但不完全相同?
- javascript - 基于一个键合并两个对象数组而不展平它?
- java - 无法从 Google Cloud Storage 返回对象名称
- jwt - Laravel 自定义用户表和 JWT 身份验证
- flutter - Flutter 中的高度变化补间动画问题
- r - 如何在 df1 中添加一个新列,该列是基于 df2 的两个连续列之间的间隔的插值(df2$`5`,df2$`15`,df2$`25`,df2$`35`)
- php - 使用#!/bin/php 有什么好处?
- python - 如何将动画视频文件(由 matplotlib 创建)传递给 Flask 中的模板文件
- google-people-api - 我们可以在 PHP 的 Google People API 中使用多个范围吗