我在python上使用selenium并希望在chrome中打开一个新选项卡。 我试过了
ActionChains(driver).key_down(Keys.CONTROL).send_keys('t').key_up(Keys.CONTROL).perform()
但这没有任何效果。没啥事儿。 我也试过了
send_keys(Keys.CONTROL+'t')
但这也没有效果。 如何在selenium中打开新选项卡?
答案 0 :(得分:2)
可以通过以下方式打开新标签:
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
browser = webdriver.Chrome()
browser.get('https://www.google.com')
q = browser.find_element_by_name('q')
q.send_keys(Keys.CONTROL, 't')
browser.close()
Chrome 44.0.2403.89(64位),Ubuntu 12.04上的Selenium 2.46.1。
请注意,我在,
函数中使用的是+
而不是send_keys()
。
答案 1 :(得分:0)
ActionChains(driver).key_down(Keys.CONTROL).send_keys(str('\u0074')).perform()
\ u0074代表字符'
要按其他字符,请参阅unicode字符表 - http://unicode.org/charts/PDF/U0000.pdf
答案 2 :(得分:0)
对于执行此类自动化操作,您可能想使用基于硒构建的东西来处理所有此类任务,例如选项卡切换,自动元素查找,特殊按键并按住:etc。
看看:“网络机器人”
webbot甚至适用于具有动态更改的id和classname的网页,并且比硒和机械化具有更多的方法和功能。
这是一个小片段
from webbot import Browser
web = Browser()
web.go_to('google.com')
web.click('Sign in')
web.type('mymail@gmail.com' , into='Email')
web.click('NEXT' , tag='span')
web.type('mypassword' , into='Password' , id='passwordFieldId') # specific selection
web.click('NEXT' , tag='span') # you are logged in ^_^
针对您的特定用法:
web.press( web.Key.CONTROL + 't' )