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

时间:2013-01-09 09:37:41

标签: python-2.7 selenium-webdriver robotframework

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

打开一个新选项卡
webbrowser.open_new_tab(url)

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

4 个答案:

答案 0 :(得分: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)

答案 1 :(得分:2)

您可以尝试

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

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

答案 2 :(得分:0)

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

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 - 重新打开上次关闭的标签页

答案 3 :(得分:-1)

您可以使用Javascript关键字

Execute Javascript   window.open('NewTabUrl');

示例:

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