我正在使用的应用程序有几个具有相同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;
我使用下面的代码点击按钮
driver.findElement(By.xpath("//button[@data-toggle='dropdown']")).click();
使用此代码应用程序仅成功运行一次但在它之后出现错误:org.openqa.selenium.ElementNotVisibleException:元素当前不可见,因此可能无法与Command交互。我删除了浏览器cookie,但它没有用。
有人可以帮我解决根本原因和解决方案吗?
答案 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();
在你的最后尝试。