selenium 三大切换
一、窗口切换
语法:driver.switch_to.window(新页面句柄)
如,百度搜索腾讯课堂,跳转到腾讯课堂后,打印新页面标题
1、强制等待方式(注:切换时,switch_to.window(新页面句柄))
2、显性等待方式(注:expected_conditions.new_window_is_opened(新页面加载前的所有句柄))
二、iframe切换
当要查找一个在iframe中的元素时,不能直接进行元素查找,需先进入iframe当中
语法:driver.switch_to.frame(iframe标识),标识有index(iframe的索引)、name(iframe的name属性值)、iframe对象。退回主页面语法:driver.switch_to.default_content()
以W3School为例,查找Field1对应的文本框:
1、通过iframe索引查找,索引从0开始(不常用)
2、通过iframe的name属性查找(常用)
3、通过iframe对象切换 (常用)
显性等待方式(expected_conditions.frame_to_be_available_and_switch_to_it(),参数仍支持iframe索引、iframe的name属性、iframe对象三种方式)
三、alert切换
当页面出现alert弹框后,无法定位页面上的元素(需要点击alert弹框的确定或取消按钮,才能进行元素定位)
语法:alert = driver.switch_to.alert alert.accept() 或者 alert.dismiss()
显性等待方式(不需要手工切换)