我正在通过WebElement
识别可点击的CssSelector
。我使用的示例代码是:
String selectorString = "a.some-text.item";
WebElement we = driver.findElement(By.cssSelector(selectorString));
we.click();
问题是,点击该项后,其CssSelector
更改为a.some-text.item.clicked
。我仍然可以通过使用上面的selectorString
变量来安全地识别它。但是,如果以前没有点击它,我只想点击它。
如何确定商品状态,即其cssSelector
名称是a.some-text.item
还是a.some-text.item.clicked
?
答案 0 :(得分:1)
如果之前没有点击过,我只想点击它。
尝试使用cssSelector
的{{3}}功能仅确定未被点击的元素: -
String selectorString = "a.some-text.item:not(.clicked)";
WebElement we = driver.findElement(By.cssSelector(selectorString));
we.click();
已修改: - 如果您想在点击后确定元素是否包含clicked
类,请尝试以下操作: -
String selectorString = "a.some-text.item";
driver.findElement(By.cssSelector(selectorString)).click();
//Now verify element clicked or not
WebElement we = driver.findElement(By.cssSelector(selectorString));
String msg = (we.getAttribute("class").contains("clicked")) ? "element clicked" : "element not clicked";
System.out.println(msg);