在浏览网页的时候,有时点击一个链接或者按钮,会弹出一个新的窗口。
使用 Selenium 进行 Web 自动化测试,如果弹出新窗口时,没有对窗口进行切换,那么,WebDriver 对象 的焦点对应的,依然是旧窗口,后续的自动化操作,将继续在旧窗口中进行。
实例验证:
# 模拟场景:打开百度,点击左上角“视频”链接,打印出当前`WebDriver 对象` 对应的窗口信息
from selenium import webdriver
from time import sleep
driver = webdriver.Chrome() # 打开浏览器
driver.maximize_window() # 浏览器最大化
driver.get("https://www.baidu.com/") # 跳转至百度首页
sleep(1)
element = driver.find_element_by_xpath("//div[@id='s-top-left']/a[4]") # 定位“视频”元素
element.click() # 点击
sleep(1)
print(driver.title) # 百度一下,你就知道
print(driver.current_url) # https://www.baidu.com/
driver.quit