使用Python Selenium Chromedriver时,浏览器窗口关闭,另一个窗口打开



我正试图用Python(2.7(/Selenium/Chromedriver自动浏览网页,但在连续打开多个网站(浏览器窗口(时会有一种特殊的行为。当一个新的浏览器窗口打开时,以前打开的一个浏览器窗口由于某种原因而关闭。这是垃圾收集问题吗?有没有办法强制所有浏览器窗口保持打开状态?这是一个示例:

import sys
from selenium import webdriver
driver = webdriver.Chrome()
driver.get("http://google.com")
driver.get("http://amazon.com")
driver.get("http://ebay.com")

这里的问题是你在同一个选项卡中点击了多个url。这就像点击页面内的一个新链接,在同一选项卡中打开新页面。你需要的是为每个url打开单独的选项卡。

driver = webdriver.Chrome()
driver.get("http://google.com")
#Open 2nd Tab
driver.find_element_by_tag_name('body').send_keys(Keys.COMMAND + 't') 
driver.get("http://amazon.com")
#Open 3rd Tab
driver.find_element_by_tag_name('body').send_keys(Keys.COMMAND + 't') 
driver.get("http://ebay.com")

或者如果您想打开单独的窗口,那么您可以创建3个chrome驱动程序实例,并在所有这些实例中打开单独的url。

driver1 = webdriver.Chrome()
driver2 = webdriver.Chrome()
driver3= webdriver.Chrome()
driver1.get("http://google.com")
driver2.get("http://amazon.com")
driver3.get("http://ebay.com")

注意:

我相信你的下一个问题将是如何使用不同的选项卡。关注以下链接:如何在Selenium for Python中切换到新窗口?

最新更新