首页 文章

如何使用机器人框架工作在同一浏览器中打开新选项卡

提问于
浏览
3

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

webbrowser.open_new_tab(url)

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

3 回答

  • 2

    您可以使用AutoIt库在机器人框架工作中模拟KeyStroke

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

    以同样的方式模拟他人

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

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

    Ctrl W,Ctrl F4 - 关闭当前选项卡 .

    Ctrl Shift T - 重新打开上一个关闭的选项卡

  • 0

    您可以使用Javascript关键字

    Execute Javascript   window.open('NewTabUrl');
    

    例:

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

    它很草率,但您可以尝试:

    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)

相关问题