转到here。
尝试找到复选框按钮“带检查器的书籍
单击要选中的复选框按钮
我尝试迭代并找到唯一的标识符“ Books”。如果您知道另一种点击方法,那就无需重复。我使用了以下代码行:
List<WebElement> elements = new ArrayList<WebElement>(obj.findElements(By.cssSelector("span.a-label.a-checkbox-label")));
for (WebElement element : elements) {
if (element.getText() == "Books"){
System.out.println("");
element.click();
}
else
System.out.println("Condtition from if is not true");
}
您可以不进行迭代而实现,请通过xpath使用以下值来定位元素://label[contains(., 'Books')]//input
。
WebElement element = driver.findElement(By.xpath("//label[contains(., 'Books')]//input"));
element.click();
您可以通过在xpath中使用其文本直接找到该元素。您可以像这样:
WebElement element = driver.findElement(By.xpath("//div[@id='widgetFilters']//span[@class='a-declarative']//span[contains(text(),'Books')]"));
element.click();
如果您要对xpath进行参数化并想使用字符串来获取它,则可以像这样:
String filterName = "Books";
WebElement element = driver.findElement(By.xpath("//div[@id='widgetFilters']//span[@class='a-declarative']//span[contains(text(),'"+filterName+"')]"));
element.click();