去这里吧。尝试找到复选框按钮 Books with Inspector单击要选择的复选框按钮我尝试迭代并找到唯一标识符“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"); }
3 回答
蓝山帝景
TA贡献1843条经验 获得超7个赞
您无需迭代即可实现,请使用以下值通过 xpath 定位元素://label[contains(., 'Books')]//input
。
WebElement element = driver.findElement(By.xpath("//label[contains(., 'Books')]//input")); element.click();
侃侃无极
TA贡献2051条经验 获得超10个赞
您可以使用 xpath 找到书籍的复选框。
//div[@id='widgetFilters']//span[text()='Department']/parent::div/following-sibling::div//span[contains(text(), 'Book')]/parent::label/input[@type='checkbox']
慕慕森
TA贡献1856条经验 获得超17个赞
您可以使用 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();
- 3 回答
- 0 关注
- 100 浏览
添加回答
举报
0/150
提交
取消