本篇文章整理了元素定位的基础知识——单个元素定位方式。

一、单个元素定位方式简介

1. find_element_by_id

  通过元素的id属性进行定位。以百度首页为例,首先进入https://www.baidu.com,按F12进入开发人员页面,然后单击调试窗口的左上角的选择图标,然后选中百度搜索框,即可看到调试窗口对应所选元素的代码突出显示,如下图,可以看到百度搜索框的id为kw。

2. find_element_by_name

  通过元素的name属性进行定位。如上图,百度搜索框的name为wd。

3. find_element_by_class_name

  通过元素的class属性进行定位。如图1所示,百度搜索框的class_name为s_ipt。

4. find_element_by_link_text

  通过超链接的文本内容进行定位。

5. find_element_by_partial_link_text

  同4,不过该方法是通过模糊方式进行定位的,即通过超链接的部分文本内容进行定位。

6. find_element_by_xpath

  通过元素的xpath路径表达式进行定位。如下图,选中突出显示的代码右键选择copy,选择复制元素的xpath,百度搜索框对应的xpath为//*[@id="kw"]。

7. find_element_by_css_selector

  通过css选择器对元素进行定位。如上图,复制元素的selector,百度搜索框的css_selector为#kw。

8. find_element_by_tag_name

  通过元素的标签名进行定位。因为同一个页面中具有相同标签名的元素较多,所以不常用。

二、实例

 # coding=utf-8

 import time

 from selenium import webdriver

 # 单个元素的多种定位方式

 # 创建driver实例
driver = webdriver.Chrome()
# 打开百度首页
driver.get('https://www.baidu.com/')
# 1.通过id属性进行定位
# driver.find_element_by_id('kw').send_keys('id')
# 2.通过name属性进行定位
# driver.find_element_by_name('wd').send_keys('name')
# 3.通过class属性进行定位
# driver.find_element_by_class_name('s_ipt').send_keys('class_name')
# 4.通过link_text进行定位
# driver.find_element_by_link_text('新闻').click()
# 5.通过部分超链接文本内容进行定位
# driver.find_element_by_partial_link_text('闻').click()
# 6.通过xpath进行定位
# driver.find_element_by_xpath('//*[@id="kw"]').send_keys('xpath')
# 7.通过css选择器进行定位
driver.find_element_by_css_selector('#kw').send_keys('css_selector')
# 定位'百度一下'按钮并点击
driver.find_element_by_id('su').click()
# 等待5s
time.sleep(5)
# 退出驱动程序并关闭浏览器
driver.quit()

Web UI自动化测试基础——元素定位(一)的更多相关文章

  1. Web UI自动化测试基础——元素定位(三)

    本篇文章整理了元素定位的基础知识——iframe框架中的元素定位. 一.iframe框架元素定位 iframe是Html页面的内联框架,如果在自动化测试中无法定位到某个元素,那么很有可能是因为该元素在 ...

  2. Web UI自动化测试基础——元素定位(二)

    本篇文章整理了元素定位的基础知识——多个元素定位方式. 一.多个元素定位方式简介 同单个元素定位方式相同,多个元素定位方式也有与之对应的8种方式,即id.name.class_name.tag_nam ...

  3. [原创]浅谈Web UI自动化测试

    [原创]浅谈Web UI自动化测试 Web UI自动化测试相信大家都不陌生,今天来谈谈这个,我最早接触自动化测试时大约是在2004年,2006年当时在腾讯财付通算是开始正式接触自动化测试,之所以是正式 ...

  4. 简单Web UI 自动化测试框架 pyse

    WebUI automation testing framework based on Selenium and unittest. 基于 selenium 和 unittest 的 Web UI自动 ...

  5. 【转】Web UI自动化测试原理

    目前市面上有很多Web UI自动化测试框架,比如WatiN, Selinimu,WebDriver,还有VS2010中的Coded UI等等.  这些框架都可以操作Web中的控件,模拟用户输入,点击等 ...

  6. 『心善渊』Selenium3.0基础 — 4、Selenium基础元素定位详解

    目录 1.什么是元素定位 2.Selenium元素定位常用API (1)By_id 定位 (2)by_name 定位 (3)by_class_name 定位 (4)by_tag_name 定位 (5) ...

  7. web自动化测试(java)---元素定位

    和python类似,java-selenium也提供了很多种元素定位的方法,具体如下: findElement(By.id()) findElement(By.name()) findElement( ...

  8. python ui自动化之元素定位和常用操作

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

  9. UI自动化之元素定位(xpath、css)

    很早之前就已经写过自动化了,不过点着功能久了就会容易忘记元素定位,尤其是xpath和css定位,所以就花点时间做下总结收集. xpath有两种定位: 一.绝对路径(不推荐使用,除非已经使用了所有方式仍 ...

随机推荐

  1. CentOS7+ 普通用户使用密钥登陆服务器(同时禁用root登陆)

    创建普通用户: # useradd user01 # tail -n2 /etc/passwd chrony:x:998:996::/var/lib/chrony:/sbin/nologin user ...

  2. 不要和SB理论

    不要和SB理论,SB会把你拉倒和他和他一样的高度,然后用充分的经验把你打倒!!!

  3. pro git学习笔记

  4. dijkstra算法之优先队列优化

    github地址:https://github.com/muzhailong/dijkstra-PriorityQueue 1.题目 分析与解题思路 dijkstra算法是典型的用来解决单源最短路径的 ...

  5. 一个web应用的诞生(7)

    现在所有的Py代码均写在default.py文件中,很明显这种方法下,一旦程序变的负责,那么无论对于开发和维护来说,都会带来很多问题. Flask框架并不强制要求项目使用特定的组织结构,所以这里使用的 ...

  6. 浅谈redis分布式锁用法

    使用redis的setnx命令进行实现 @Component @Slf4j public class RedisLock { @Autowired private StringRedisTemplat ...

  7. Vue项目的痛点

    前言 用Vue做项目,难免会有痛点,移动端还是PC端,我也总结了下关于问题: 进入详情页的传参问题. 服务器接口跨域 axios封装请求 UI库的按需加载 如何只在当前页面中覆盖ui库中组件的样式 定 ...

  8. react axios 跨域问题

    周末又是补充知识点的时候了,用了react axios 跨越问题,貌似是要比vue 稍微麻烦一点 它请求http好像是没有问题的,但是https还是有跨域问题的, 我用的刚好是create-react ...

  9. shell之文本过滤(awk)

    shell之文本过滤(awk) 分类: linux shell脚本学习2012-09-19 15:53 1241人阅读 评论(0) 收藏 举报 shell正则表达式脚本任务语言 如果要格式化报文或从一 ...

  10. iOS消息通知Notification的用法

    1.发送消息 NSNotification *notification = [NSNotification notificationWithName:@"selectPosition&quo ...