Selenium 使用Actions类单击禁用的元素无效

Selenium 使用Actions类单击禁用的元素无效,selenium,webdriver,action,Selenium,Webdriver,Action,我有一个测试,我需要点击一个禁用的按钮。 我正在使用Actions类来实现这一点。 当用户单击按钮时,将生成警报。 以下是我编写的代码: Actions mouseActions = new Actions(driver); mouseActions.moveToElement(driver.findElement(By.id("disabled_element_id"))).click().build().perform(); 然后我尝试切换到警报“我得到异常”: 线程“main”org.o

我有一个测试,我需要点击一个禁用的按钮。 我正在使用Actions类来实现这一点。 当用户单击按钮时,将生成警报。 以下是我编写的代码:

Actions mouseActions = new Actions(driver);
mouseActions.moveToElement(driver.findElement(By.id("disabled_element_id"))).click().build().perform();
然后我尝试切换到警报“我得到异常”:
线程“main”org.openqa.selenium.NoAlertPresentException中出现异常:不存在警报。

编写selenium是为了复制用户交互,因此将不允许与禁用的对象交互,因为人也不能这样做

你也可以

  • 复制用户启用按钮的过程

  • 使用JavaScript启用或执行交互


编写Selenium是为了复制用户交互,因此不允许与禁用的对象交互,因为人类也不能这样做

你也可以

  • 复制用户启用按钮的过程

  • 使用JavaScript启用或执行交互


您需要使用
JavaScriptExecutor
执行此任务,
WebDriver
无法单击禁用或不可见的元素。所以试试类似的方法

JavascriptExecutor js = (JavascriptExecutor) webDriver;
js.executeScript("document.querySelector(\"button[id=yourButton]\").click()");

您需要使用
JavaScriptExecutor
执行此任务,
WebDriver
无法单击禁用或不可见的元素。所以试试类似的方法

JavascriptExecutor js = (JavascriptExecutor) webDriver;
js.executeScript("document.querySelector(\"button[id=yourButton]\").click()");

我很确定Selenium不会单击禁用的元素。我建议您使用JavaScriptExecutor通过javascript单击按钮,我很确定Selenium不会单击禁用的元素。我建议您使用JavaScriptExecutor通过javascript单击按钮。Selenium通常用于编写web应用程序的测试。优秀的QA工程师还测试按钮不仅被禁用,而且在单击时不会执行任何意外操作单击被HTML标记为禁用的按钮是在浏览器中重新测试HTML呈现功能,而不是web应用程序的功能。也许更好的测试是通过检查HTML来断言按钮被禁用?如果你真的想点击一个被禁用的按钮(我建议99%的时候这不是正常的用例),那么你可以使用动作将鼠标移动到按钮上并触发一个clickSelenium,它通常用于编写web应用程序的测试。优秀的QA工程师还测试按钮不仅被禁用,而且在单击时不会执行任何意外操作单击被HTML标记为禁用的按钮是在浏览器中重新测试HTML呈现功能,而不是web应用程序的功能。也许更好的测试是通过检查HTML来断言按钮被禁用?如果你真的想点击一个被禁用的按钮(我建议99%的时候这不是正常的用例),那么你可以使用动作将鼠标移动到按钮并点击