打开百度多个窗口,遍历切换每个窗口,切到【百度地图】就停止。
使用了driver.switch_to.window() 来切换, 参数是handle值
from selenium import webdriver
import time
# 创建浏览器驱动对象
from selenium.webdriver.common.by import By
driver = 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 == "百度地图":
break
print("最后在:", driver.title)
driver.save_screenshot('./window.png') # 保存当前截图
driver.quit() # 这个的效果就是离开整个浏览器