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()

   

  显性等待方式(不需要手工切换)

  

 

原文地址:https://www.cnblogs.com/purelavender/p/14521439.html