硒作用链无影响

时间:2015-07-22 07:05:28

标签: python selenium selenium-webdriver

我在python上使用selenium并希望在chrome中打开一个新选项卡。 我试过了

  ActionChains(driver).key_down(Keys.CONTROL).send_keys('t').key_up(Keys.CONTROL).perform()

但这没有任何效果。没啥事儿。 我也试过了

send_keys(Keys.CONTROL+'t')

但这也没有效果。 如何在selenium中打开新选项卡?

3 个答案:

答案 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' )