Selenium API高级

1,多标签之间的切换

  场景:有的时候点击一个连接,新页面并非由当前页面跳转过去,而是新开一个页面打开,这种情况下,计算机需要识别多标签或窗口的情况

  (1)获取所有窗口的句柄

      handles =driver.window_handlers()

      调用该方法会得到一个列表,在selenium运行过程的每一个窗口都有一个对应的值存放在里面

  (2)通过窗口的句柄进入的窗口

      driver.switch_to_window(handles[n])

      driver.switch_to.window(handles[n])

  案例:58同城租房信息

    

 

 

 2,多表单切换

  在网页中,表单嵌套是很常见的情况,尤其是登录的场景

  (1)什么是表单

    实际上就是使用iframe/frame,引用了其他页面的连接,真正的页面数据并没有出现在当前源码中,但是在浏览器中我们看到,简单理解可以使页面中开了一个窗口显示另一个页面

  (2)处理方法

    直接使用ID值切换进表单

      driver.switch_to.frame(value)/driver.switch_to_frame(value)

    定位到表单元素,再切换进入

      el=driver.find_element_by_xxx(value)

      driver.switch_to.frame(el) /driver.switch_to_frame(el)

  案例:QQ邮箱登录

    

 

 

3,弹框操作

  (1)进入到弹框中

    driver.switch_to.alert

   (2) 接收警告

    accept()

   (3)解除警告

    dismiss()

   (4)发送文本到警告框

    send_keys(data)

posted @ 2021-03-08 16:47  测试——小白  阅读(87)  评论(0编辑  收藏  举报