selenium 使用Java脚本的Selify会忽略CATCH块

hc8w905p  于 2022-11-10  发布在  Java
关注(0)|答案(1)|浏览(97)

我遇到了一个问题,有时会在不存在的浏览器上调用driver.quit。我正在努力找出原因,但同时我写了以下内容(我希望做这件事的Java版本:https://stackoverflow.com/a/53909741/4427375):

console.log("I'm here");
try {driver.quit();} catch {
  console.log("Catch me");
}

我在我在这里上设置了一个断点,代码将到达该点-如果我运行驱动程序退出,它将失败,并返回NoSuchSessionError: This driver instance does not have a valid session ID (did you call WebDriver.quit()?) and may no longer be used.,我不理解的是为什么Catch块永远不会运行。

xpszyzbs

xpszyzbs1#

这是因为驱动程序在单独的线程中运行,所以错误被抛出了上面的上下文。Driver.quit()返回一个承诺,因此如果您想要处理错误,您必须这样处理它:

driver.quit().catch((error) => {
// do stuff
});

相关问题