(包含项目)selenium的多层框架定位

简介

这篇文章主要介绍selenium的多层框架定位。案例是使用selenium自动登陆QQ空间。

思路

1 使用selenium自动请求QQ空间网站 https://i.qq.com/ 。打开后出现如下页面。

 

2 通过xpath定位到账号密码登录的位置,然后使用click点击对象。出现如下页面。

 

 

 

3 通过xpath定位到账号输入的位置,密码输入的位置,使用send_keys输入账号密码。然后使用xpath定位到登录的位置,使用click点击对象。 

问题及解决

  第二步中,当我们使用xpath定位账号密码登录这个元素时,发现定位器没有问题,但是一直定位不了,

  这时候我们需要判断这个元素是否在一个frame(框架)中,如果这个元素在一个框架中,我们需要使用switch_to_frame('框架id名')的方法,先找到框架,然后再去定位这个元素。

  判断一个元素是否在一个框架中的方法:在网页源代码中查找关键词frame,看是否有