当前位置: 首页 > 知识库问答 >
问题:

如何使用selenium C#for Safari浏览器切换到新选项卡

景胜涝
2023-03-14

共有1个答案

叶文博
2023-03-14

这是一个由两部分组成的过程....

切换到新选项卡:

    public static string SwitchToTab()
    {
        var mainHandle = Driver.CurrentWindowHandle;
        var handles = Driver.WindowHandles;

        foreach (var handle in handles)
        {
            if (mainHandle == handle)
            {
                continue;
            }
            Driver.SwitchTo().Window(handle);
            break;
        }
        var result = Url;
        return result;
    }

然后在必要时切换到主要内容:

           public static void CloseNewTab()
    {
        var mainHandle = Driver.CurrentWindowHandle;
        var handles = Driver.WindowHandles;
        foreach (var handle in handles)
        {
            if (mainHandle == handle)
            {
                continue;
            }
            Driver.SwitchTo().Window(handle);
            Driver.Close();
            Driver.SwitchTo().Window(mainHandle);
            break;
        }
    }
 类似资料:
  • 如何在Chrome浏览器上切换到父选项卡到新选项卡并打开新URL? 我想在打开新选项卡后访问一个新的URL,所以我已经编写了如下代码,但我能够打开新选项卡,并且系统正在父窗口中打开第二个URL,而不是在第二个选项卡上?

  • 问题内容: 问题:用户从小程序开始长时间操作;显示带有进度条的JDialog。用户打开/切换到另一个浏览器选项卡-仍然显示JDialog(并惹恼用户)。 当用户切换到另一个选项卡时,JDialog应该被隐藏;并在用户切换回时再次显示。 注意:我看到了类似问题的问题,解决方案是添加windowActivated / deactivated监听器。它对我不起作用,因为窗口中有多个框架,其中一个框架包含

  • 我试图编写一个函数,它将接收一个“浏览器实例”(我指的是),并打开一个带有特定URL的新选项卡。 这是函数: 返回True(如果URL有效) 如果有人能告诉我我做错了什么,我将非常感激。如果您有其他方法来完成打开新选项卡的任务,这是可以的。顺便说一下,我曾尝试使用:,但没有成功(我没有得到新的选项卡,也没有异常)

  • 我需要在浏览器选项卡之间切换,使用以下代码, 它有时只是正常工作,但有时表现出异常。有谁能建议我使用Java在一个窗口内切换选项卡的其他说明吗。

  • 在HighCharts 5.0中,您可以定义一组应用于不同视口大小的响应式图表选项。请参阅https://www.highcharts.com/docs/chart-concepts/responsive. 不幸的是,对xAxis和yAxis的更改只在一个方向上起作用。再次调整浏览器大小时,无法恢复到原始选项。 示例一http://jsfiddle.net/gh/get/library/pure/

  • 我有一个场景,就像当我点击一个链接时,它在新选项卡中打开。使用Selenium WebDriver我们如何处理它。 据我所知,我们不能切换到新的标签,但当我在网上搜索时,得到了以下一些解决方案。 null