1

我有一个测试,我需要点击一个禁用的按钮。我正在使用 Actions 类来执行此操作。当用户单击按钮时,会生成警报。下面是我写的代码:

Actions mouseActions = new Actions(driver);
mouseActions.moveToElement(driver.findElement(By.id("disabled_element_id"))).click().build().perform();

然后我尝试切换到出现异常的警报:线程“主”org.openqa.selenium.NoAlertPresentException 中的异常:不存在警报。

4

2 回答 2

3

您需要JavaScriptExecutor用于此任务,WebDriver无法单击禁用或不可见的元素。所以尝试类似的东西

JavascriptExecutor js = (JavascriptExecutor) webDriver;
js.executeScript("document.querySelector(\"button[id=yourButton]\").click()");
于 2013-09-06T17:06:53.473 回答
2

Selenium 已被编写用于复制用户交互,因此不允许与禁用对象进行交互,因为人类也无法做到。

你可以;

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

  • 使用 JavaScript 启用或执行交互

于 2013-09-06T15:30:29.527 回答