Python+selenium自动化测试之12----find_elements一组元素定位
前面的文章讲了单个元素的定位,有时候一个页面上有些元素具有相同的属性,如果一个一个去定位的比较繁琐,那么就可以定位一组对象,根据下标确定单个元素。Webdriver同样提供了定位一组元素的方法----find_elements,就是单个定位方法的复数形式。
这里还是以邮箱为例,查看邮箱邮件列表,然后点击查看邮件。
查看元素并定位
登录邮箱以后进入到收件箱,邮箱列表会倒序展示收到的邮件,使用F12查看页面元素,可以查看每封邮件具有相同的属性。通过查看每逢邮件的class均为class=”i M”。
Iframe框架
邮箱页面涉及到iframe嵌套,邮件列表就在一个iframe内,那么在定位里面的元素是,就需要先进入iframe内,这个之后再写。
Find_elements
获取当前页的邮件个数,使用元素的class=“i M”,这里有空格,可以使用and进行拼接,也可以使用“i”或者“M”,但是这里不是唯一,所以不选择使用。从下图可以看出一共有25个,那么本页共25封邮件
下标
通过使用下标的方式,就可以点击对应的邮件
随机数
也可以使用随机数,随机点击任意一条邮件。使用随机数需要首先导入随机函数:import random,设置范围0~24。
Find_elements的基本用法就是如此。
css定位
同样也可以使用css获取邮件列表个数。而邮件的class属性有空格,使用css来定位class属性的元素前面加个点(.)就行,然后空格变成点(.)就能定位了。