Web自动化之页面元素定位

编程入门 行业动态 更新时间:2024-10-05 09:21:24

Web自动化之页面<a href=https://www.elefans.com/category/jswz/34/1771401.html style=元素定位"/>

Web自动化之页面元素定位

1. 什么是web自动化?

即网页自动化测试。通过软件对web对象进行输入数据,单击等操作,比较预期结果和实际结果,包括测试报告。

2. web自动化为什么需要学习元素定位?

  • 计算机没有智能到人的程度。     
  • 计算机不能像手动测试人员一样通过眼看,手操作鼠标点击,操作键盘输入 
  • 计算机通过一系列计数手段找到元素(按钮、输入框、模拟键盘等)

所以需要查找元素对象,需要学习元素定位。定位当前元素的节点。

3. chrome浏览器如何安装定位插件Ranorex Selocity?

Ranorex Selocity是一款在chrome浏览器中的定位插件,下载地址为:Ranorex Selocity - Crx4Chrome插件下载

打开该网址后选择离线下载,会下载一个.crx的文件。

 离线安装chrome浏览器插件的方法可以参考:离线安装chrome插件教程 - Crx4Chrome插件下载

大概步骤为:

(1)首先把从crx4下载的后缀为.crx的文件修改为rar后缀使用压缩工具解压

(2)打开chrome浏览器 ->(选项->更多工具->扩展程序

(3)先开启开发者模式然后加载已解压的扩展程序

(4)选择之前解压的chrome插件crx目录,就完成安装了

(5)安装成功之后重启chrome浏览器,打开任意界面,按F12,可以找到Ranorex Selocity选项,以百度页面为例:

 

4. 以百度页面为例,学习页面元素定位

从百度搜索框HTML代码片段如下:

<input type="text" class="s_ipt" name="wd" id="kw" maxlength="100" autocomplete="off" style="">

4.1 使用id进行定位

从百度搜索框HTML代码片段中,发现有一个id="kw"的属性,此时可以通过这个id定位到百度搜索框,定位代码如下:

driver.find_element_by_id("kw")

4.2 使用name进行定位

driver.find_element_by_name("wd")

4.3 使用class进行定位

driver.find_element_by_class_name("s_ipt")

4.4 使用tagName进行定位

driver.find_element_by_tag_name("input")

4.5 使用linkText进行定位

driver.find_element_by_link_text("新闻")

4.6 使用partialLinkText进行定位

driver.find_element_by_partial_link_text("新")

4.7 xpath定位举例:

按F12键,打开Ranorex Selocity插件,选择xpath,具体如下图所示:

 xpath元素定位方法有以下几种常见的方法:

(1)绝对路径定位方式:

/html/body/div/div/div[2]/a[1]

以百度页面的 "新闻"链接为例,绝对路径表达式需要从第一层元素标签开始,一层层的定位到我们要定位的元素为止:

 (2)相对路径定位方式:

相对路径定位方式,会在整个页面查找符合定位表达式的元素:

//input

  •  通过元素属性来定位:

以下面这段HTML代码为例:

<input type="text" class="s_ipt" name="wd" id="kw" maxlength="100" autocomplete="off" style="">

通过id来定位:xpath表达式如下:

//input[@id='kw']

通过class属性来定位:xpath表达式如下:

//input[@class='s_ipt']

使用and关键字进行连接查询:xpath表达式如下:

//input[@type='text' and @name='wd']

  •  通过部分属性值来定位--模糊定位:

start-with函数:

//a[starts-with(@class,'m')]  

contains函数:

//input[contains(@id,'w')] 

text()函数:

//a[text()='直播'] 

last()函数

//input[last()]     //定位最后一个input标签
//input[last()-1]   //倒数第二个input标签

not()函数

//input[not(@id)] //input标签中不包含id属性值

更多推荐

Web自动化之页面元素定位

本文发布于:2024-02-13 10:59:45,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1758387.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:元素   页面   Web

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!