当前位置: 首页 > 面试题库 >

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

关苗宣
2023-03-14
问题内容

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

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

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

问题就在这里:我不喜欢抛出异常来发现布尔值的真相,但是由于 WebDriver
API

没有提供检查驱动程序是否退出的方法,因此我似乎别无选择。

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

我在这里找到了一个类似的问题(但更普遍),但是问题没有尝试过任何代码,唯一的答案是退出后始终将WebDriver设置为null(我不一定可以控制) 。


问题答案:

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

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

否则,它将返回对象的哈希码:

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

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

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


 类似资料:
  • 问题内容: 我正在尝试检查某一个是否为元音。这样做的最佳方法是什么? 问题答案: 这是我使用了一段时间的解决方案,但它并没有让我失望: 对于我的应用程序,它相当快。

  • 问题内容: 我有一个游标,带有来自选择的值,我想根据我是否发现任何行来做点什么。 这似乎不起作用,有帮助吗? 问题答案: 您需要在使用%FOUND属性之前对游标执行FETCH。将您的代码更改为类似 请注意,您可能需要将变量添加到FETCH语句的INTO子句中,在TABLE1和TABLE2中的每一列都需要添加一个变量。还要注意,编写此游标的方式可能会获得比预期更多的返回行。因为没有指定连接条件,所以

  • 问题内容: 查看URL存在并且响应不是404的最佳方法是什么? 问题答案: 您可以使用 手册中的示例2 : 第一个数组元素将包含HTTP响应状态代码。您必须解析它。 请注意,示例中的函数将发出HTTP HEAD请求,这意味着它将不会获取URL的正文。这比使用GET请求(也将返回正文)更有效。 还要注意,通过设置 默认 上下文,任何使用http流上下文的后续调用现在都将发出HEAD请求。因此,确保完

  • 以下是示例代码: (由于某种原因,这里的窗户关闭了) 回溯(最后一次调用):文件“/usr/local/lib/python2.7/dist packages/selenium/webdriver/firefox/webdriver.py”第183行中的“文件”,第1行。退出(self)文件“/usr/local/lib/python2.7/dist packages/selenium/webdr

  • 我试图检查某个是否为元音。做这件事最好的方法是什么?

  • 问题内容: 我有这样的示例列表: 现在,我检查它是否具有空字符串,如下所示: 这可以正常工作,因为它可以打印True,但是是否需要更多的pythonik方法? 问题答案: 您可以使用: 万一如果内部列表更大(超过100个项目),则与生成器一起使用的速度将比上面的示例更快,因为这样,使用Python for循环的速度代价将由快速操作来补偿: 时序比较: