【问题标题】:How to open a new tab in same browser using robot frame work如何使用机器人框架在同一浏览器中打开新选项卡
【发布时间】:2012-12-23 07:38:27
【问题描述】:

据我所知,在 selenium2library 中没有直接的关键字可以打开新标签。我已经看到下面的代码在 IE(默认浏览器)中为给定的 URL 打开一个新选项卡

webbrowser.open_new_tab(url)

但我想写一个关键字,在当前运行的浏览器(它可能是任何浏览器)上打开一个新标签。

【问题讨论】:

  • 请参阅this 问题。同样使用HTTP_USER_AGENT 返回浏览器名称。假设它返回'firefox',然后将其传递给current_browser = webbrowser.get('firefox')current_browser.open('http://www.google.com'),这将在打开的浏览器中自动打开一个新选项卡(如果可能)。希望这可以帮助。我不确定它是否会起作用,这就是为什么我不将其发布为答案。

标签: python-2.7 selenium-webdriver robotframework


【解决方案1】:

你可以试试

Execute Javascript    window.open('')
Get Window Titles
Select Window    title=undefined
Go To   ${URL}

此代码有助于在同一浏览器中打开新标签并收集同一浏览器中所有标签的 Windows 标题。 根据窗口标题名称,它识别新打开的选项卡并启动 URL

【讨论】:

  • 这是一个有效的答案。 Execute Javascript window.open('') 可以替换为新的 SeleniumLibrary 关键字 Press Keys None CTRL+T 以更优雅的方式打开新标签。
【解决方案2】:

有点草率,但你可以试试:

from selenium.webdriver.common.keys import  Keys 

actions.key_down(Keys.CONTROL)
element.send_keys('t')
actions.key_up(Keys.CONTROL)

我不知道与浏览器无关的方法。

打开新标签后,您可以通过使用driver.window_handles 找到窗口句柄并切换到适当的句柄来更改标签:browser.switch_to_window(handle)

【讨论】:

    【解决方案3】:

    您可以使用 Javascript 关键字

    Execute Javascript   window.open('NewTabUrl');
    

    例子:

    Execute Javascript   window.open('https://www.google.com');
    

    【讨论】:

      【解决方案4】:

      您可以使用 AutoIt 库来模拟机器人框架中的按键

      Import AutoItLibrary
      Import Selinium2library
      
      send  "^t"  Open the New Tab
      

      以同样的方式模拟他人

      Ctrl+Tab – 切换到下一个选项卡 – 换句话说,右边的选项卡。 (Ctrl+Page Up 也可以,但不能在 Internet Explorer 中使用。)

      Ctrl+Shift+Tab – 切换到上一个选项卡 – 换句话说,左侧的选项卡。 (Ctrl+Page Down 也可以,但不能在 Internet Explorer 中使用。)

      Ctrl+W, Ctrl+F4 – 关闭当前选项卡。

      Ctrl+Shift+T - 重新打开上次关闭的标签页

      【讨论】:

        猜你喜欢
        • 2022-11-03
        • 2020-06-04
        • 2018-08-29
        • 2020-06-07
        • 2020-10-11
        • 2012-06-20
        • 2016-10-18
        • 2022-12-09
        • 2018-10-30
        相关资源
        最近更新 更多