使用selenium webdriver代码

时间:2017-03-28 12:35:54

标签: java html selenium-webdriver

我正在使用的应用程序有几个具有相同xml代码的下拉按钮。下面是所有下拉按钮的代码。



<button class="btn dropdown-toggle bs-placeholder btn-default" role="button" data-toggle="dropdown" type="button" data-id="invContactList" title="" data-original-title="Nothing selected">
&#13;
&#13;
&#13;

我使用下面的代码点击按钮

driver.findElement(By.xpath("//button[@data-toggle='dropdown']")).click();

使用此代码应用程序仅成功运行一次但在它之后出现错误:org.openqa.selenium.ElementNotVisibleException:元素当前不可见,因此可能无法与Command交互。我删除了浏览器cookie,但它没有用。

有人可以帮我解决根本原因和解决方案吗?

1 个答案:

答案 0 :(得分:0)

您可能需要等待该元素:

WebDriverWait wait = new WebDriverWait(driver, 10);
wait.until(ExpectedConditions.elementToBeClickable(By.xpath("//button[@data-toggle='dropdown']"))).click();
  

OR

wait.until(ExpectedConditions.elementToBeClickable(By.xpath("//button[@data-id='invContactList']"))).click();
  

OR

wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath("//button[@data-toggle='dropdown']"))).click();
  

OR

wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath("//button[@data-id='invContactList']"))).click();

在你的最后尝试。