基于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() #点击返回页面的元素