我有一个测试,我需要点击一个禁用的按钮。 我正在使用Actions类来执行此操作。 当用户单击该按钮时,将生成警报。 以下是我写的代码:
Actions mouseActions = new Actions(driver);
mouseActions.moveToElement(driver.findElement(By.id("disabled_element_id"))).click().build().perform();
然后我尝试切换到我得到异常的警报: 线程“main”中的异常org.openqa.selenium.NoAlertPresentException:不存在警报。
答案 0 :(得分:2)
Selenium已被编写为复制用户交互,因此不允许与禁用的对象进行交互,因为人们无法进行交互。
你可以;
复制用户启用按钮的过程。
使用JavaScript启用或执行交互
答案 1 :(得分:2)
您需要使用JavaScriptExecutor
执行此任务,WebDriver
无法点击已禁用或不可见的元素。所以尝试像
JavascriptExecutor js = (JavascriptExecutor) webDriver;
js.executeScript("document.querySelector(\"button[id=yourButton]\").click()");