基于python3的语法,driver.switch_to_alert()的表达会出现中划线,因此需要把后面的下划线改为点.
目前接触到的switch_to的用法包括以下几种:
driver.switch_to.window(window_name) 切换到制定的window_name页面
driver.switch_to.alert() 切换到alert弹窗
driver.switch_to.active_element() 定位到当前聚焦的元素上
driver.switch_to.default_content() 切换到最上层页面(主文档?)
driver.switch_to.frame(frame_reference) 通过id、name、element(定位的某个元素)、索引来切换到某个frame
driver.switch_to.parent_frame() 这是switch_to中独有的方法,可以切换到上一层的frame,对于层层嵌套的frame很有用
★注意在定位时,报错的提示,如果是no alert这类提示,可能不需要用到switch_to的方法
from selenium import webdriver from time import sleep driver=webdriver.Chrome() driver.get("https://www.baidu.com/") driver.implicitly_wait(5) driver.maximize_window()
'''例1:switch_to.window''' driver.find_element_by_link_text("新闻").click() selenium_index=driver.current_window_handle #定义当前固定句柄
driver.find_element_by_link_text("邮件新闻订阅") .click() #打开新的页面 sleep(3) driver.switch_to.window(selenium_index) #切换到定义的句柄页面 sleep(2) driver.find_element_by_link_text("军事").click() #点击返回页面的元素