无法单击网页中的元素

时间:2014-04-08 05:14:04

标签: java selenium-webdriver

我正在尝试找到一个元素,然后单击该元素转到另一个页面,但该元素未被点击,但它没有显示任何错误或警告。它只是突出显示元素,但没有点击

我正在使用以下

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();

2 个答案:

答案 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();