如何通过保持webDriver处于活动状态来关闭整个浏览器窗口?

拉胡尔

在我的批处理执行中,第一种情况将打开具有多个选项卡的多个浏览器。我想在开始第二种情况之前关闭所有这些浏览器。

Driver.close()只是关闭浏览器的一个标签。Driver.quit()关闭所有浏览器并结束WebDriver会话。因此,无法运行批处理执行。请为此提供解决方案。

Shubham Jain

以下说明应解释WebDriver中driver.closedriver.quit方法之间的区别希望对你有帮助。

driver.closedriver.quit是在Selenium WebDriver中关闭浏览器会话的两种不同方法。

了解两者并知道何时使用每种方法对您的测试执行很重要。因此,我试图阐明这两种方法。

driver.close-此方法关闭设置焦点的浏览器窗口。driver.quit关闭webdriver会话,而driver.close仅关闭当前存在硒控制的窗口,但webdriver会话尚未关闭,如果没有其他窗口打开并且您调用driver.close,则它也会关闭webdriver会话。

driver.quit –此方法基本上调用driver.dispose现在是一个内部方法,该方法依次关闭所有浏览器窗口并正常结束WebDriver会话。

driver.dispose-如前所述,是WebDriver的一种内部方法,已根据另一个答案以静默方式删除了该方法-需要验证。在正常的测试工作流程中,此方法确实没有用例,因为任何一种前述方法都适用于大多数用例。

说明用例:每当要结束程序时,都应使用driver.quit它将关闭所有打开的浏览器窗口,并终止WebDriver会话。如果在程序末尾不使用driver.quit,则WebDriver会话将无法正确关闭,并且不会从内存中清除文件。这可能会导致内存泄漏错误。

............

现在,在这种情况下,您需要特定的浏览器。下面的代码将关闭除主窗口以外的所有子窗口。

String homeWindow = driver.getWindowHandle();
Set<String> allWindows = driver.getWindowHandles();

//Use Iterator to iterate over windows
Iterator<String> windowIterator =  allWindows.iterator();

//Verify next window is available
while(windowIterator.hasNext())
{
    //Store the Recruiter window id
    String childWindow = windowIterator.next();
}

//Here we will compare if parent window is not equal to child window 
if (homeWindow.equals(childWindow))
{
    driver.switchTo().window(childWindow);
    driver.close();
}

现在,您需要根据需要修改或添加条件

if (homeWindow.equals(childWindow))
{
    driver.switchTo().window(childWindow);
    driver.close();
}

当前,它仅检查主窗口是否等于子窗口。在这里,您需要指定条件,例如要关闭的ID。我从来没有尝试过,所以只建议您达到您的要求的方法。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何通过拒绝Selenium Webdriver中的弹出窗口来关闭浏览器

来自分类Dev

如何通过拒绝Selenium Webdriver中的弹出窗口来关闭浏览器

来自分类Dev

使用 Selenium 驱动程序加载页面,关闭/处理它并保持浏览器处于活动状态

来自分类Dev

检测浏览器窗口是否处于活动状态,并在窗口再次处于活动状态后启动事件[JavaScript]

来自分类Dev

如何在服务器仍处于活动状态时检查浏览器连接?

来自分类Dev

如何在服务器仍处于活动状态的情况下检查浏览器连接?

来自分类Dev

如何检查浏览器是否在Crossrider中处于活动状态?

来自分类Dev

如果浏览器选项卡处于活动状态,如何更改 Shopify 标题

来自分类Dev

是否想在浏览器窗口处于活动状态时每次按下按键时读取按键事件并打印按键?

来自分类Dev

当调用脚本关闭时,如何将python数据传递回调用脚本,使浏览器窗口保持打开状态

来自分类Dev

关闭浏览器后,如何阻止Gmail保持登录状态?

来自分类Dev

如何判断浏览器/标签页是否处于活动状态,以及在用户离开时调低音量

来自分类Dev

如何检测浏览器未最小化且相关选项卡未处于活动状态

来自分类Dev

如何通过react-router-dom防止浏览器返回并保持状态

来自分类Dev

如何使子菜单跨越浏览器窗口的整个宽度?

来自分类Dev

检查是否使用Android默认浏览器或任何移动浏览器(如果处于活动状态)

来自分类Dev

当子窗口在 WPF 中处于活动状态时如何防止关闭父窗口

来自分类Dev

检测浏览器选项卡是否处于活动状态或用户已离开

来自分类Dev

有没有办法判断浏览器是否处于活动状态?

来自分类Dev

木偶:浏览器断开后,Chromium实例在后台仍处于活动状态

来自分类Dev

如何在AngularJS中关闭浏览器窗口

来自分类Dev

如何从Google Apps脚本关闭浏览器窗口?

来自分类Dev

谷歌浏览器杀死进程如何从终端关闭窗口?

来自分类Dev

关闭浏览器PHP后如何保持$ _GET值

来自分类Dev

向下滚动整个浏览器窗口

来自分类Dev

向下滚动整个浏览器窗口

来自分类Dev

浏览器刷新后如何保持React组件状态

来自分类Dev

浏览器刷新后如何保持React组件状态

来自分类Dev

关闭浏览器窗口后,如何防止Google Chrome浏览器删除会话Cookie?

Related 相关文章

  1. 1

    如何通过拒绝Selenium Webdriver中的弹出窗口来关闭浏览器

  2. 2

    如何通过拒绝Selenium Webdriver中的弹出窗口来关闭浏览器

  3. 3

    使用 Selenium 驱动程序加载页面,关闭/处理它并保持浏览器处于活动状态

  4. 4

    检测浏览器窗口是否处于活动状态,并在窗口再次处于活动状态后启动事件[JavaScript]

  5. 5

    如何在服务器仍处于活动状态时检查浏览器连接?

  6. 6

    如何在服务器仍处于活动状态的情况下检查浏览器连接?

  7. 7

    如何检查浏览器是否在Crossrider中处于活动状态?

  8. 8

    如果浏览器选项卡处于活动状态,如何更改 Shopify 标题

  9. 9

    是否想在浏览器窗口处于活动状态时每次按下按键时读取按键事件并打印按键?

  10. 10

    当调用脚本关闭时,如何将python数据传递回调用脚本,使浏览器窗口保持打开状态

  11. 11

    关闭浏览器后,如何阻止Gmail保持登录状态?

  12. 12

    如何判断浏览器/标签页是否处于活动状态,以及在用户离开时调低音量

  13. 13

    如何检测浏览器未最小化且相关选项卡未处于活动状态

  14. 14

    如何通过react-router-dom防止浏览器返回并保持状态

  15. 15

    如何使子菜单跨越浏览器窗口的整个宽度?

  16. 16

    检查是否使用Android默认浏览器或任何移动浏览器(如果处于活动状态)

  17. 17

    当子窗口在 WPF 中处于活动状态时如何防止关闭父窗口

  18. 18

    检测浏览器选项卡是否处于活动状态或用户已离开

  19. 19

    有没有办法判断浏览器是否处于活动状态?

  20. 20

    木偶:浏览器断开后,Chromium实例在后台仍处于活动状态

  21. 21

    如何在AngularJS中关闭浏览器窗口

  22. 22

    如何从Google Apps脚本关闭浏览器窗口?

  23. 23

    谷歌浏览器杀死进程如何从终端关闭窗口?

  24. 24

    关闭浏览器PHP后如何保持$ _GET值

  25. 25

    向下滚动整个浏览器窗口

  26. 26

    向下滚动整个浏览器窗口

  27. 27

    浏览器刷新后如何保持React组件状态

  28. 28

    浏览器刷新后如何保持React组件状态

  29. 29

    关闭浏览器窗口后,如何防止Google Chrome浏览器删除会话Cookie?

热门标签

归档