微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

selenium(2):元素定位

Selenuim+Python之元素定位总结及实例说明

 

  网页自动化最基本的要求就是要定位到各个元素,然后才能对该元素进行各种操作(输入,点击,清除,提交等),所以笔者今天来总结下Selenuim+Python最基本的几种定位方式及实例说明,希望能帮助到大家。

通过XPath定位元素

XPath是一种XML文档中定位元素的语言。该定位方式也是比较常用的定位方式。

 

 

使用:find_element_by_xpath("XPath")

实例:

8.1通过属性定位元素

find_element_by_xpath("//标签名[@属性='属性值']")

id属性

find_element_by_xpath("//input[@id='kw']")

class属性

find_element_by_xpath("//input[@class='s_ipt']")

name属性

find_element_by_xpath("//input[@name='wd']")

maxlength属性

find_element_by_xpath("//input[@maxlength='255']")

8.2通过标签名定位元素

指所有input标签元素

find_element_by_xpath("//input")

8.3父子定位元素

查找有父亲元素的标签名为span,它的所有标签名叫input的子元素

find_element_by_xpath("//span/input") 

8.4根据元素内容定位元素(非常实用)

find_element_by_xpath("//p[contains(text(),'京公网')]") 

<p id="jgwab">
<i class="c-icon-jgwablogo"></i>
京公网安备11000002000001号
</p>

注:contains的另一种用法

//input[contains(@class,'s')]

说明class属性包含s的元素。

8.5组合定位元素

//父元素标签名/标签名的属性值:指的是span下的input标签下class属性为s_ipt的元素

find_element_by_xpath("//span/input[@class='s_ipt']")

多个属性组合定位(挺常用的)

指的是input标签下id属性为kw且name属性为wd的元素

find_element_by_xpath("//input[@class='s_ipt' and @name='wd']")

指的是p标签内容包含“京公网”且id属性为jgwab的元素

find_element_by_xpath("//p[contains(text(),'京公网') and @id='jgwab']")  

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐