打开百度多个窗口,遍历切换每个窗口,切到【百度地图】就停止。

使用了driver.switch_to.window() 来切换, 参数是handle值

from selenium import webdriver
import time


# 创建浏览器驱动对象
from selenium.webdriver.common.by import By

driver = webdriver.Chrome()            # 参数写浏览器驱动文件的路径,若配置到环境变量就不用写了
# 访问网址
driver.get("http://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()         # 这个的效果就是离开整个浏览器

本站无任何商业行为
个人在线分享 » selenium中switch_to.window切换窗口的用法
E-->