Selenium 我想得到这个元素的特定 属性

Selenium I want to get a specific property of this Element

我想获取这个 aria-checked = ‘true’ 的值,如下面的截图所示。我可以使用以下代码轻松获得此值:

WebElement searchTextBox= driver.findElement(By.className(“ui-igcheckbox-container”));
// retrieving html attribute value using getAttribute() method
String typeValue=searchTextBox.getAttribute(“aria-checked”);
System.out.println("Value of type attribute: "+typeValue);

但这里的问题是我只想在代码上方动态获取此值 returns 仅 table 行的第一个值。谁能帮我动态获取这个值?

如果有多个元素(复选框)与此定位器匹配,您可以将它们全部放入一个列表中,并让每个元素属性遍历该列表

List<WebElement> searchTextBoxes= driver.findElements(By.className(“ui-igcheckbox-container”));
for(WebElement searchTextBox : searchTextBoxes){
    String typeValue=searchTextBox.getAttribute(“aria-checked”);
    System.out.println("Value of type attribute: "+typeValue);
}

我不确定这 3 个是否都有 class

ui-igcheckbox-container

但由于它们是复选框,因此它们肯定会有:

span[role='checkbox']

你可以像这样使用 findElements :-

List<WebElement> searchTextBoxes= driver.findElements(By.cssSelector(“span[role='checkbox']”));
for(WebElement searchTextBox : searchTextBoxes){
    String typeValue = searchTextBox.getAttribute(“aria-checked”);
    System.out.println("Value of type attribute: "+typeValue);
}