我写在硒的自动测试,我有与定位的问题。网站地址:https://talixo.pl/register/?next=/。我无法找到合适的定位在过去的三个复选框。根据我使用的定位,我得到一个错误“元素不相互作用或复选框被选中,但在新标签页中打开它链接‘更多’下的页面。我没有这个问题,不复选框“更多”链接请帮助!
public void clickDiscountsCheckBox(){
WebElement discountsCheckBox = driver
.findElement(By.xpath("//*[@id=\"id_terms_0\"]"));
discountsCheckBox.click();
这里是我得到的错误:
org.openqa.selenium.ElementNotVisibleException:元素没有交互(会话信息:铬= 71.0.3578.98)(驱动程序信息:chromedriver = 2.45.615291(ec3682e3c9061c10f26ea9e5cdcf3c53f3f74387),平台= Windows NT的10.0.17134 x86_64的)(警告:服务器未提供任何堆栈跟踪信息)命令的持续时间或超时:0毫秒
尝试this.This应该工作。
driver.get("https://talixo.pl/register/?next=/");
Thread.sleep(4000);
List<WebElement> listOfElements =
driver.findElements(By.xpath("//span[@class='label-body']"));
JavascriptExecutor executor = (JavascriptExecutor) driver;
for (int i=0; i<listOfElements.size();i++){
executor.executeScript("arguments[0].click();",listOfElements.get(i));
}
请让我知道这工作。
我去提供的网址,并指出,在过去三个复选框点击的是“::之前”,这是一个伪元素。您是否尝试过JavascriptExecutor?您可以尝试使用CSSSelector识别元素。