如何将焦点从 WinAppDriver 切换到 IWebDriver?

分享于2022年07月17日 c#-4.0 selenium selenium-webdriver winappdriver 问答
【问题标题】:如何将焦点从 WinAppDriver 切换到 IWebDriver?(How to switch focus from WinAppDriver to IWebDriver?)
【发布时间】:2022-07-09 19:36:19
【问题描述】:

我正在使用 WinAppDriver 和 Selenium C# 开发桌面应用程序。

应用程序上有几个链接。

如果我们点击链接,它将重定向到默认浏览器。

如何将焦点从 WinAppDriver 切换到 IWebDriver ?

如何验证链接,链接是否在默认浏览器中打开?

请帮助解决这个问题。谢谢。

  • 有没有办法让你在应用程序上捕获链接?因为更容易获取链接并将命令发送到 selenium 以使用该链接打开您需要的浏览器。否则,您必须使用 selenium 附加已被重定向链接打开的会话,这不是一件容易的事。
  • @osfresia 感谢您的快速回复。如果可以的话,可以分享一下示例代码吗?
  • 我无法为此发布确切的代码,因为我没有关于 Windows 的示例,但您可以尝试类似的方法:使用 Teststack.White FlaUI 或任何自动化库,捕获链接并发送命令到 Selenium 以在您想要的浏览器上打开页面,就这么简单。

【解决方案1】:
// Switch to new window opened
for(String winHandle : driver.getWindowHandles()){
    driver.switchTo().window(winHandle);
}

// Perform the actions on new window

// Close the new window, if that window no more required
driver.close();

// Switch back to original browser (first window)
driver.switchTo().window(winHandleBefore);