I\xe2\x80\x99m 试图捕获 NoSuchElementException。这是我的代码:
\n\npublic void checkActiveApps() {\n try {\n $(BUTTON).click();\n } catch (org.openqa.selenium.NoSuchElementException e) {\n System.out.println(e);\n }\n}\nRun Code Online (Sandbox Code Playgroud)\n\n但仍然抛出异常。怎样才能抓住它呢?
\n\n这是日志:
\n\nElement not found {button[role='checkbox']}\nExpected: visible\nScreenshot: file:/Users/user/source/project/build/reports/tests/1537866631954.0.png\nPage source: file:/Users/user/source/project/build/reports/tests/1537866631954.0.html\nTimeout: 4 s.\nCaused by: NoSuchElementException: Unable to locate element: button[role='checkbox']\n at com.codeborne.selenide.impl.WebElementSource.createElementNotFoundError(WebElementSource.java:31)\n at com.codeborne.selenide.impl.ElementFinder.createElementNotFoundError(ElementFinder.java:82)\n at com.codeborne.selenide.impl.WebElementSource.checkCondition(WebElementSource.java:59)\n at com.codeborne.selenide.impl.WebElementSource.findAndAssertElementIsVisible(WebElementSource.java:72)\n at com.codeborne.selenide.commands.Click.execute(Click.java:16)\n at com.codeborne.selenide.commands.Click.execute(Click.java:12)\n at com.codeborne.selenide.commands.Commands.execute(Commands.java:144)\n at com.codeborne.selenide.impl.SelenideElementProxy.dispatchAndRetry(SelenideElementProxy.java:90)\n at com.codeborne.selenide.impl.SelenideElementProxy.invoke(SelenideElementProxy.java:65)\nRun Code Online (Sandbox Code Playgroud)\n\n我使用selenide版本4.12.3
\n小智 9
Selenide 不会抛出 Selenium 异常,因为它使用自己的异常。
您可以尝试使用:
public void checkActiveApps() {
try {
$(BUTTON).click();
} catch (com.codeborne.selenide.ex.ElementNotFound e) {
System.out.println(e);
}
}
Run Code Online (Sandbox Code Playgroud)
为什么你还是想抓住它?
| 归档时间: |
|
| 查看次数: |
3536 次 |
| 最近记录: |