打開百度多個窗口,遍歷切換每個窗口,切到【百度地圖】就停止。
使用了driver.switch_to.window()?來切換,?參數是handle值
from selenium import webdriver
import time# 創建瀏覽器驅動對象
from selenium.webdriver.common.by import Bydriver = webdriver.Chrome() # 參數寫瀏覽器驅動文件的路徑,若配置到環境變量就不用寫了
# 訪問網址
driver.get("https://www.baidu.com/")driver.find_element(By.XPATH, ' //*[contains(text(),"新聞")]').click() # 新聞鏈接
driver.find_element(By.XPATH, ' //*[contains(text(),"hao123")]').click()
driver.find_element(By.XPATH, ' //*[contains(text(),"地圖")]').click()
driver.find_element(By.XPATH, ' //*[contains(text(),"貼吧")]').click()handles_list = driver.window_handles
for item in handles_list:driver.switch_to.window(item)print(driver.title)if driver.title == "百度地圖":breakprint("最后在:", driver.title)
driver.save_screenshot('./window.png') # 保存當前截圖 driver.quit() # 這個的效果就是離開整個瀏覽器