gpt4 book ai didi

java - selenium:如果用户关闭浏览器或网络驱动程序怎么办?如何检测浏览器是否关闭?

转载 作者:行者123 更新时间:2023-11-29 04:22:59 27 4
gpt4 key购买 nike

  • OS:Window 10

  • Browser: Chrome webDriver

  • Browser Version: Chrome 63.0.3239.10(64bit)

  • Selenium Version 2.44

添加以下依赖:

<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>2.44.0</version>
</dependency>

预期行为-

我想检查驱动是否被用户直接关闭,如果没有浏览器则重启webdriver。

Driver webdriver = new ChromeDriver()代码之前,webdriver为空状态,

但是在 Driver webdriver = new ChromeDriver() 代码完成后,即使用户关闭浏览器,webdriver 也不会被销毁。

因此,在用户关闭浏览器后,所有与 webdriver 相关的代码都会出现错误::"unreachable Exception"。

如果浏览器被用户关闭,我想重启 webdriver,但我无法检测到这种情况。

  1. driver!=null 代码不工作,因为驱动程序在用户关闭浏览器后仍然存在
  2. if((driver.getWindowHandle().equals("")) 无法正常工作,因为 Chrome 无法访问异常,因为浏览器已被用户关闭

我想做的是检查浏览器是否因为用户而消失了?

最佳答案

您可以对驱动程序对象执行任何操作,如果它抛出 UnreachableBrowserException,那么与浏览器的通信就会出现问题。

导致此异常的最常见原因是:

  1. 提供给 RemoteWebDriver 的服务器地址无效,因此无法建立连接。
  2. 浏览器在测试中途死机。

您可以调用以下方法来验证浏览器是否关闭。

public boolean isBrowserClosed(WebDriver driver)
{
boolean isClosed = false;
try {
driver.getTitle();
} catch(UnreachableBrowserException ubex) {
isClosed = true;
}

return isClosed;
}

关于java - selenium:如果用户关闭浏览器或网络驱动程序怎么办?如何检测浏览器是否关闭?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47934186/

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