点击上方蓝字,选择“设为星标”
第一时间关注技术干货!
元素定位
操作页面元素之前,首先要对元素进行定位,所以定位是自动化脚本编写的开始。
通常使用find_element或find_elements方法来定位元素。
1、find_element使用给定的方法定位和查找一个元素
2、find_elements使用给定的方法定位和查找所有元素list
常用定位方式共八种:
1.当页面元素有id属性时,最好尽量用by_id来定位。
2.XPath很强悍,但定位性能不是很好,所以还是尽量少用。如果确实少数元素不好定位,那还是选择XPath或cssSelector。
3.当有链接需要定位时,可以考虑使用by_link_text或by_partial_link_text。
现分别介绍如下。
1、by_id
当所定位的元素具有id属性的时候我们可以通过by_id来定位该元素。
例如打开百度首页,定位搜索框后输入Selenium。
搜索框页面源代码:属性id值为kw
脚本代码:
#!/usr/bin/env python
2、by_name
当所定位的元素具有name属性的时候我们可以通过by_name来定位该元素。
例如打开百度首页,定位搜索框后输入Selenium。
搜索框页面源代码:属性name值为wd
脚本代码:
#!/usr/bin/env python
3、by_class_name
当所定位的元素具有class属性的时候我们可以通过by_class_name来定位该元素。
例如打开百度首页,定位搜索框后输入Selenium。
搜索框页面源代码:属性class值为s_ipt
脚本代码:
#!/usr/bin/env python
4、by_tag_name
by_tag_name方法可以通过元素的标签名来查找元素。由于搜索到的标签名通常不止一个,所以一般结合使用find_elements方法来使用。
例如打开百度首页,获取超链接地图的文本信息。从图中可以看到标签名为a的很多,无法精确定位,需要结合name属性才能过滤