2016-06-27 8 views
1

Python 2.7.1、Selenium 2.53で、新しいタブを開くことができない、またはリンクをクリックして新しいタブで開くことさえできません。 0、Mac OS XのChromeDriver 2.22、Google Chrome 51.0python-seleniumとChromeDriver:コントロールを開くためのタブを開くことができません

import selenium.webdriver as webdriver 
import selenium.webdriver.support.ui as ui 
from selenium.webdriver.common.keys import Keys 
from selenium.webdriver.common.action_chains import ActionChains 
from time import sleep 

driver = webdriver.Chrome('/path/to/chromedriver') 

driver.get('https://twitter.com') 
driver.find_element_by_id('signin-email').send_keys(Keys.COMMAND + 't') 

URLを開きますが、新しいタブは開きません。

また、ActionChainsを使用して新しいタブを開くこともテストしましたが、成功しませんでした。

新しいタブを開く唯一の方法は、JavaScriptを使用してexecute_script()までですが、その場合は新しいタブを制御できません。 switch_to.window()は機能しません。

+0

Macでchromedriverをダウンロードした後、chromedriver-2.22はその名前ですか? 'driver = webdriver.Chrome( '/ path/to/chromedriver-2.22/chromedriver')'を試してみてください。 – Windyground

+0

はい、複数のバージョン(1.9と2.9)をテストしてタブを開くことができるかどうかを確認するために、名前を-2.22に変更しました。失敗。 – Lee

+0

これを試してください。 '.send_keys(Keys.COMMAND + Keys.RETURN);' –

答えて

1

あなたは以下のように試してみてください: -

driver.find_element_by_id('signin-email').send_keys(Keys.COMMAND + Keys.RETURN); 

が、それは願っています:)

+1

ありがとう!これは私のために働く! – Lee

0

あなたはctrlキーを押しながらリンクをクリックしようとすることができ、これは新しいタブでリンクを開きます

actions = ActionChains(driver) 
actions.key_down(Keys.CONTROL).perform() 
driver.find_element_by_id('signin-email').click() 
actions.key_up(Keys.CONTROL).perform() 
関連する問題