我有一个基于登录用户权限的多个类的div。
登录后:
<div class="btn deleteButton canDelete">
未登录时:
<div class="btn deleteButton">
我需要一种方法来确定具有deleteButton
类的div是否也具有canDelete
类。
我尝试使用deleteButton
获取所有元素的列表,并使用canDelete
获取所有元素,并进行比较,但这有两个原因无效:
循环浏览两个可能很大的列表而不是一个列表效率很低。
页面上可能还有其他div canDelete
。这意味着仅仅比较两个元素列表并不有效。
答案 0 :(得分:0)
关注网页相关区域的一种方法是创建容器,然后仅查找这些容器中的元素。例如,您可以在变量中识别和存储您感兴趣的区域:
public static final String AREA_CONTAINER = "some_css_path";
然后,一旦你的区域被封闭,你就可以在这个区域内寻找你的元素:
@FindBy(css = AREA_CONTAINER + "css_path") //here we are looking for specific elements within the area of interest
private WebElement element;
或在多个类似元素的情况下:
@FindBy(css = AREA_CONTAINER + "css_path")
private List<WebElement> elements;
答案 1 :(得分:-1)
这两种方式都必须适合你:
By.cssSelector(".deleteButton .canDelete")
或
By.Xpath(".//div[contains(@class,'deleteButton') and contains(@class,'canDelete')]")