首页 > 编程语言 > 详细

python_元素定位

时间:2020-07-13 00:01:58      阅读:110      评论:0      收藏:0      [点我收藏+]

一。selenium的八大元素定位方法

1.id:

通过id查找

find_element_by_id
find_elements_by_id

2.name

通过name查找

find_element_by_name
find_elements_by_name

3.class_name

通过class_name查找

find_element_by_class_name
find_elements_by_class_name

注意:

class_name 查询的时候,classname 不能有空格

4.tag_name

通过tag_name标签查找

find_element_by_tag_name
find_elements_by_tag_name

5.link_text

通过超链接的文本查找(精确查询)

find_element_by_link_text

6.partial_link_text

通过超链接的文本一部分查找(也就是模糊查询)

find_element_by_partial_link_text

7.xpath

通过单属性或者组合多个特征查询

8.css_selector

通过css表达式查询

 

二。

1.find_element 和find_elements 的区别:

返回:

find_element:只能返回一个WebElent对象

find_elements:如果存在多个对象,以列表的形式返回

查找结果:

find_element:查找不到元素直接报错(NoSuchElementException)

find_elements:查找不到元素直接返回空列表

2.八大定位元素比较:

1)其实只有四种元素定义方法:

id、name、class_name、tag_name都是使用find_elements方法,源码上看都是一种方法

技术分享图片

 

 

三。元素定位xpath详解:

官方学习链接:https://www.w3school.com.cn/xpath/index.asp

1)xpath定义:

XPath 是一门在 XML 文档中查找信息的语言。XPath 可用来在 XML 文档中对元素和属性进行遍历。

XPath 是 W3C XSLT 标准的主要元素,并且 XQuery 和 XPointer 都构建于 XPath 表达之上。

因此,对 XPath 的理解是很多高级 XML 应用的基础。

2)语法:

技术分享图片

 

 3)实例:

以百度网页为例

1.单个条件查询

//*[@id="kw"]

-//:代表相对路径

-*:代表所有标签

-@:属性

查询结果:

技术分享图片

 

 

 

2.组合多个条件查询

//*[@id="kw" and @class="s_ipt"]

-and:组合多个查询时需要添加

运行结果:

技术分享图片

 

 

3.通过父与子的关系进行查找:

//*[@id="s_kw_wrap"]/*[@name="wd"]

-/

运行结果:

技术分享图片

 

4.通过子元素查找父元素

 //*[@name="wd"]/..

-/..

运行结果:

技术分享图片

 

 4.特殊查询:

1)查询第一个input标签

(//input)[1]

-html中标签位置是从第一开始算的

-():先计算括号里面的

运行结果:

技术分享图片

 

2)函数查询

contains:包含

//*[contains(text(),"按图片")]

-更多的函数用法参考官网文档

运行结果:

技术分享图片

 

python_元素定位

原文:https://www.cnblogs.com/newsss/p/13290582.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!