UI自动化页面元素定位

做ui自动化的最基础的就是页面元素定位了,如果连页面元素都定位不到,自动化从何谈起呢?接下来我们就看看页面元素定位的方法吧!(这里就用百度页面来进行演示)

一、最通用的几种定位方式:

1.通过id定位

1 driver.find_element_by_id(‘su‘)

2.通过name定位

driver.find_element_by_name(‘mp‘)

3.通过class属性

driver.find_element_by_class_name(‘s_ipt‘)

4.通过文本链接

driver.find_element_by_link_text(‘新闻‘)

以上的方法都是最基本的方法,在实际中用到的并不多。接下来的两个方法才是重点!!!

一、xpath方法

1.通过绝对路径(但是这个方法很不可取,不仅会导致程序运行很缓慢,也会显得很low,很不美观,如果路径有几行依然复制几行吗?显然有问题)

driver.find_element_by_xpath(‘/html/body/div[1]/div[1]/div/div[1]/div/form/span[1]/input‘)

2.通过相对路径

以图上定位这个form表单为例

方法一:

driver.find_element_by_xpath(‘//*[@id="head"]/div/div/div/form‘)

上面的写法可以理解为,通过xpath寻找,任意(*代表)id属性为’head‘下面的div/div/div下面的form表单

方法二:

driver.find_element_by_xpath(‘//*[@class="s-form"]/div/form‘)

上面的写法可以理解为,通过xpath寻找,任意(*代表)id属性为’s-form‘下面的/div下面的form表单

方法三;

driver.find_element_by_xpath(‘//form[@id="form"]‘)

上面的写法可以理解为,通过xpath寻找,id为form的form表单

xpath是万能的,没有xpath定不到的元素,还有其他很多地方方法,具体场景具体方法,这里就不一一再举例了....(比如通过文字等等)

一、css方法

还是拿这个图片来举例吧

方法一、单一属性定位

driver.find_elements_by_css_selector(‘form‘)

方法二、id定位

driver.find_elements_by_css_selector(‘form‘)

方法三、class定位

driver.find_elements_by_css_selector(‘fm‘)

方法四、其他属性定位

driver.find_elements_by_css_selector(‘[name="f"]‘)

方法五、组合属性定位

driver.find_elements_by_css_selector(‘form#form‘) # 属性加上id
driver.find_elements_by_css_selector(‘form.s_ipt‘) # 属性加上class
driver.find_elements_by_css_selector(‘form[name="f"]‘) # 属性加上其他属性

以上是css最常用的定位方法,还有很多就不一一举例了,具体场景具体使用....

常用操作

click() 点击

send_keys()  输入内容

原文地址:https://www.cnblogs.com/sophia027/p/12558034.html

时间: 2024-10-12 04:49:44

UI自动化页面元素定位的相关文章

UI自动化之——元素定位

一.概述 UI自动化要做的就是模拟鼠标和键盘对元素进行操作,单击.输入或鼠标悬停等操作,所有的这些操作都建立在找到元素的基础上,下面说一下,selenium的八大元素定位,重点说一下xpath元素定位. 二.selenium的八大元素定位 2.1 id定位 find_element_by_id() # 通过id属性来定位元素 2.2 name定位 find_element_by_name() # 通过name 属性来定位元素 2.3 class定位 find_element_by_class_n

【selenium学习笔记】webdriver进行页面元素定位

[selenium学习笔记]webdriver进行页面元素定位 进行Web页面自动化测试,对页面上的元素进行定位和操作是核心.而操作又是以定位为前提的,因此,对页面元素的定位是进行自动化测试的基础. 页面上的元素就像人一样,有各种属性,比如元素名字,元素id,元素属性(class属性,name属性)等等.webdriver就是利用元素的这些属性来进行定位的. 可以用于定位的常用的元素属性: id name class name tag name link text partial link te

java selenium webdriver实战 页面元素定位

自动化测试实施过程中,测试程序中常用的页面操作有三个步骤 1.定位网页上的页面元素,并存储到一个变量中 2.对变量中存储的页面元素进行操作,单击,下拉或者输入文字等 3.设定页面元素的操作值,比如,选择下拉列表中的那个下拉列表或者输入框中输入什么值 其中定位页面元素是三步骤的第一步,本篇介绍常用的定位方法 webDriver对象的findElement函数用于定位一个页面元素,findElements函数用户定位多个页面元素,定位的页面元素使用webElement对象进行存储 常用的方法有: 1

【前端经纬】将页面元素定位

最近在做公司的项目的手,遇到了要是 html页面元素定位的问题. 查阅了相关资料,这里 Mark.  1)可以使用 css的position属性实现该功能. 2)代码实现如下(可以运行 http://www.w3school.com.cn/tiy/t.asp?f=csse_position_absolute): <html> <head> <style type="text/css"> h2.pos_abs { position:absolute;

Robot Framework 教程 (2) - 页面元素定位

上一篇文章中,简单模拟了一个baidu搜索并截图的过程,在搜索过程中,我们需要对搜索框.搜索按钮进行定位.本篇文章主要介绍一下具体的定位方法. 我们的脚本如下: *** Settings *** Library Selenium2Library *** Test Cases *** firefox兼容性 Open Browser https://www.baidu.com/ ff Input Text id=kw LeetTest Click button id=su Sleep 2 Captu

Python3.x:Selenium中的webdriver进行页面元素定位

Python3.x:Selenium中的webdriver进行页面元素定位 页面上的元素就像人一样,有各种属性,比如元素名字,元素id,元素属性(class属性,name属性)等等.webdriver就是利用元素的这些属性来进行定位的. 可以用于定位的常用的元素属性: id name class name tag name link text partial link text xpath css selector 对应于webdriver中的定位一个元素方法分别是: driver.find_e

selenium+python自动化之元素定位

自动化按步骤拆分的话,可以分为四步操作:定位元素,操作元素,获取返回结果,断言(返回结果与期望结果是否一致),最后自动出测试报告.本篇接下来讲基本的八种元素定位方法.说的通俗一点,就是教大家找对象. 万物皆对象,所谓的对象,就是你喜欢的那个女神,她就是你的对象.既然是对象,她就有属性,比如眼睛大,头发长,皮肤白,颜值高.这些都是她的属性,每个属性又有对应的属性值,如眼睛="大",头发="长",颜值="高",对应的=后面就是它的属性的值. 同样的道

Selenium with Python 003 - 页面元素定位

WebUI自动化,首先需要定位页面中待操作的元素,然后进行各种事件操作,这里我们首先介绍Selenium Python 如何定位页面元素,WebDriver 提供了一系列的方法. 定位单个页面元素(返回单个元素对象) find_element_by_id find_element_by_name find_element_by_xpath find_element_by_link_text find_element_by_partial_link_text find_element_by_tag

基于页面元素定位的操作失败自动截图

web自动化脚本运行失败,很大一部分问题出在元素定位上,博主在这里介绍一个循环定位及失败截图的方法.以方便脚本维护,定位问题. 1.以下代码是WebDriver自带的方法,封装一下,使用即可. 1 /** 2 * 截取屏幕截图并保存到指定路径 3 * 4 * @param filepath 5 * 保存屏幕截图完整文件名称及路径 6 * @return 无 7 */ 8 public void captureScreenshot(String filepath) { 9 File screenS