gpt4 book ai didi

java - 在 Java 中,检查 Selenium WebDriver 是否已退出的最佳方法

转载 作者:IT老高 更新时间:2023-10-28 21:06:26 27 4
gpt4 key购买 nike

我需要检查一组页面对象,以查看每个页面对象是否已在其 WebDriver 上调用了 quit()。

我编写了以下方法来检查 WebDriver 的状态:

public static boolean hasQuit(WebDriver driver) {
try {
driver.getTitle();
return false;
} catch (SessionNotFoundException e) {
return true;
}
}

问题是:我不喜欢通过抛出和捕获异常来发现 boolean 值的真相,但我似乎别无选择,因为 WebDriver API 没有提供检查驱动程序是否退出的方法。

所以我的问题是,有没有更好的方法来检查 WebDriver 是否已退出?

我发现了一个类似的(更一般的)问题 here ,但该问题没有任何代码已尝试过,唯一的答案是在退出后始终将 WebDriver 设置为 null(我不一定可以控制)。

最佳答案

如果 quit() 已被调用,driver.toString() 返回 null:

>>> FirefoxDriver: firefox on XP (null))

否则返回对象的哈希码:

>>> FirefoxDriver: firefox on XP (9f897f52-3a13-40d4-800b-7dec26a0c84d)

因此您可以在分配 boolean 值时检查 null:

boolean hasQuit = driver.toString().contains("(null)");

关于java - 在 Java 中,检查 Selenium WebDriver 是否已退出的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18619121/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com