Python 2.7 如何使用robot框架在同一浏览器中打开新选项卡

Python 2.7 如何使用robot框架在同一浏览器中打开新选项卡,python-2.7,selenium-webdriver,robotframework,Python 2.7,Selenium Webdriver,Robotframework,据我所知,在Selenium2库中没有直接的关键字来打开新选项卡。我看到了下面的代码,它在IE(默认浏览器)中为给定URL打开了一个新选项卡 webbrowser.open_new_tab(url) 但我想写一个关键字,在当前正在运行的浏览器(可能是任何浏览器)上打开一个新选项卡。这很草率,但您可以尝试: from selenium.webdriver.common.keys import Keys actions.key_down(Keys.CONTROL) element.send_

据我所知,在Selenium2库中没有直接的关键字来打开新选项卡。我看到了下面的代码,它在IE(默认浏览器)中为给定URL打开了一个新选项卡

webbrowser.open_new_tab(url)

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

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

from selenium.webdriver.common.keys import  Keys 

actions.key_down(Keys.CONTROL)
element.send_keys('t')
actions.key_up(Keys.CONTROL)
我不知道浏览器不可知的方法


打开新选项卡后,您可以通过使用
驱动程序查找窗口句柄来更改选项卡。窗口句柄
并切换到相应的句柄:
浏览器。切换到窗口(句柄)
您可以使用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–重新打开上次关闭的选项卡

您可以使用Javascript关键字

Execute Javascript   window.open('NewTabUrl');
例如:

Execute Javascript   window.open('https://www.google.com');
你可以试试

Execute Javascript    window.open('')
Get Window Titles
Select Window    title=undefined
Go To   ${URL}
此代码有助于在同一浏览器中打开新选项卡,并收集同一浏览器中所有选项卡的窗口标题。
根据窗口标题名称,它标识新打开的选项卡并启动URL

请参见问题。同样,使用
HTTP\u USER\u AGENT
返回浏览器名称。假设它返回“firefox”,然后将其传递给
current\u browser=webbrowser.get('firefox')
current\u browser.open('http://www.google.com)
这将在打开的浏览器中自动打开一个新选项卡(如果可能)。希望这有帮助。我不确定它是否有效,这就是为什么我不把它作为一个答案发布。这是一个有效的答案。
Execute Javascript window.open(“”)
可以替换为新的SeleniumLibrary关键字,
按无CTRL+T键
以更优雅的方式打开新选项卡。