Python selenium选项卡功能在Firefox中运行良好,但在Chrome中运行不正常

时间:2016-03-11 17:30:43

标签: python google-chrome selenium

我正在使用以下脚本在新标签页中打开多个网站。这在Firefox中可以正常工作。

但它无法在Chrome中运行。它会打开一个新选项卡作为第二个选项卡,但第二个网站链接将在第一个选项卡中打开。稍后,将打开一个新选项卡作为第三个选项卡,然后在第一个选项卡中打开第三个链接。注释部分(第5行)是我如何调用chromedriver.exe。

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time

browser = webdriver.Firefox()  #Chrome('C:\\data\\books oae\\apex library\\chromedriver') #Firefox() 

browser.get('https://trello.com/login')
time.sleep(10)
emailElem = browser.find_element_by_id('user')
emailElem.send_keys('test123@gmail.com')
passwordElem = browser.find_element_by_id('password')
passwordElem.send_keys('test12345')
passwordElem.submit()

body = browser.find_element_by_tag_name("body")
body.send_keys(Keys.CONTROL + 't')

browser.get('https://todoist.com/Users/showLogin')
time.sleep(10)
emailElem = browser.find_element_by_id('email')
emailElem.send_keys('test123@gmail.com')
passwordElem = browser.find_element_by_id('password')
passwordElem.send_keys('test12345')
passwordElem.submit()

body = browser.find_element_by_tag_name("body")
body.send_keys(Keys.CONTROL + 't')

browser.get('https://asana.com/#login')
time.sleep(10)
emailElem = browser.find_element_by_id('login-email-login-modal')
emailElem.send_keys('test123@gmail.com')
passwordElem = browser.find_element_by_id('login-password-login-modal')
passwordElem.send_keys('test12345')
passwordElem.submit()

1 个答案:

答案 0 :(得分:0)

Splinter是您问题的答案。它是Selenium的一个包装器,可以为您完成所有的显示处理。只需创建新的Splinter对象,即可打开新窗口。您可以指定是希望它们是Chrome还是Firefox。