我正在尝试找到一个元素,然后单击该元素转到另一个页面,但该元素未被点击,但它没有显示任何错误或警告。它只是突出显示元素,但没有点击
我正在使用以下
WebDriverWait wait2 = new WebDriverWait(driver,10);
Thread.sleep(10000);
WebElement elements = driver.findElement(By.id("menuItem_Permissions"));
Actions action = new Actions(driver);
action.moveToElement(elements).click().perform();
答案 0 :(得分:0)
尝试使用隐式等待和一些技巧
WebElement element = new WebDriverWait( driver, 10 )
.until( ExpectedConditions.elementToBeClickable
(By.id("menuItem_Permissions")));
WebElement wait = new WebDriverWait(driver,
10).until(ExpectedConditions.visibilityOf(element));
Actions scrollToElement = new Actions(driver);
scrollToElement.moveToElement(wait).perform();
element.click();
答案 1 :(得分:0)
在您的操作字符串中,您希望使用.build()
- 因此请按此添加。
action.moveToElement(elements).click().build().perform();
正如@Faiz所提到的那样,你已经声明了一个WebDriverWait命令,但它没有在任何地方被调用,而不是从你发布的内容中调用。尽可能避免使用Thread.sleep
。但是这不会引起这个问题。
您不需要为一个元素使用操作构建器,只需尝试使用elements.click();