基于python3的语法,driver.switch_to_alert()的表达会出现中划线,因此需要把后面的下划线改为点.

一、目前接触到的switch_to的用法包括以下几种:

1、 切换到制定的window_name页面

 

   driver.switch_to.window(window_name) 

2、   切换到alert弹窗

    driver.switch_to.alert()                                

3、 定位到当前聚焦的元素上

   driver.switch_to.active_element()            

4、切换到最上层页面(主文档?)

     driver.switch_to.default_content()          

5、通过id、name、element(定位的某个元素)、索引来切换到某个frame

   driver.switch_to.frame(frame_reference)   

6、这是switch_to中独有的方法,可以切换到上一层的frame,对于层层嵌套的frame很有用

    driver.switch_to.parent_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()     #点击返回页面的元素