【问题标题】:How can I get the active tab index in google chrome? [duplicate]如何在谷歌浏览器中获取活动标签索引? [复制]
【发布时间】:2019-09-09 13:49:39
【问题描述】:

我目前有一个使用 Selenium Webdriver 和 google chrome 的 Java 应用程序。在很多情况下,用户将在选项卡之间来回切换。我试图让程序识别用户选择的选项卡,并将驱动程序焦点切换到该选项卡。目前,代码仅在关注的任何选项卡上运行,无论用户将其切换到什么。我知道切换我可以使用的焦点

driver.switchTo().window(currentTab);

但是,我似乎无法弄清楚当前的标签索引是什么。我想避免使用谷歌浏览器的“标签”扩展。我发现了一些关于这个主题的在线帖子,但似乎没有一个有解决方案。任何帮助将不胜感激。

【问题讨论】:

    标签: java google-chrome selenium-webdriver


    【解决方案1】:

    您可以通过getWindowHandle() 获取当前选项卡,然后从您从getWindowHandles() 获取的列表中获取当前选项卡的索引。试试这个代码:

    String currentTab = driver.getWindowHandle();
    ArrayList<String> tabs = new ArrayList<String>(driver.getWindowHandles());
    int index = tabs.indexOf(currentTab);
    

    注意窗口句柄是浏览器标签中网页的Unique Identifer

    【讨论】:

    • 所以这里获取的是驱动直接选择的标签的句柄,用户选择的时候不会获取到句柄。当标签在浏览器中直接更改时,我正在尝试获取句柄。
    猜你喜欢
    • 2018-03-06
    • 2013-08-05
    • 2012-10-06
    • 2018-10-05
    • 1970-01-01
    • 2012-05-21
    • 2023-03-09
    • 1970-01-01
    • 2012-01-21
    相关资源
    最近更新 更多