03-selenium元素定位

简介: 03-selenium元素定位

8种基本定位方式

1. id

  • id :根据标签的id属性定位     方法:driver.find_element_by_id()
  • 说明: id一般是唯一的,首选使用id定位
1. # -*- coding: utf-8 -*-
2. # @Time    : 2021/1/9
3. # @Author  : 大海
4. from selenium import webdriver
5. 
6. driver = webdriver.Chrome()
7. baidu_url = 'https://baidu.com'
8. 
9. # 打开百度
10. driver.get(baidu_url)
11. 
12. # 根据id属性定位输入框
13. driver.find_element_by_id('kw').send_keys('selenium')
14.

2. name

  • name :根据标签的name属性定位     方法:driver.find_element_by_name()
1. # -*- coding: utf-8 -*-
2. # @Time    : 2021/1/9
3. # @Author  : 大海
4. from selenium import webdriver
5. 
6. driver = webdriver.Chrome()
7. baidu_url = 'https://baidu.com'
8. 
9. # 打开百度
10. driver.get(baidu_url)
11. 
12. # 根据name属性定位输入框
13. driver.find_element_by_name('wd').send_keys('selenium')

         

3. class name

  • class name:根据标签的class属性定位     方法:driver.find_element_by_class_name()
1. # -*- coding: utf-8 -*-
2. # @Time    : 2021/1/9
3. # @Author  : 大海
4. from selenium import webdriver
5. 
6. driver = webdriver.Chrome()
7. baidu_url = 'https://baidu.com'
8. 
9. # 打开百度
10. driver.get(baidu_url)
11. 
12. # 根据class属性定位输入框
13. driver.find_element_by_class_name('s_ipt').send_keys('selenium')

4. tag name

  • tag name :标签名称定位         方法:driver.find_element_by_tag_name()
1. # -*- coding: utf-8 -*-
2. # @Time    : 2021/1/9
3. # @Author  : 大海
4. from selenium import webdriver
5. 
6. driver = webdriver.Chrome()
7. baidu_url = 'https://baidu.com'
8. 
9. # 打开百度
10. driver.get(baidu_url)
11. 
12. # tag_name定位, input 不是唯一的,运行会报错
13. driver.find_element_by_tag_name('input').send_keys('selenium')

5. link text

  • link text:根据链接文本定位           方法:driver.find_element_by_link_text()
1. # -*- coding: utf-8 -*-
2. # @Time    : 2021/1/9
3. # @Author  : 大海
4. from selenium import webdriver
5. 
6. driver = webdriver.Chrome()
7. baidu_url = 'https://baidu.com'
8. 
9. # 打开百度
10. driver.get(baidu_url)
11. 
12. # 根据链接文本定位
13. driver.find_element_by_link_text('新闻').click()

6. partial link text

  • partial link text:根据链接的部分文本定位         方法:driver.find_element_by_partial_link_text()
1. # -*- coding: utf-8 -*-
2. # @Time    : 2021/1/9
3. # @Author  : 大海
4. from selenium import webdriver
5. 
6. driver = webdriver.Chrome()
7. baidu_url = 'https://baidu.com'
8. 
9. # 打开百度
10. driver.get(baidu_url)
11. 
12. # 根据链接部分文本定位,当文本太长时,写部分即可
13. driver.find_element_by_partial_link_text('新').click()

7. xpath

  • xpath:XML路径语言,来确定XML文档中某部分位置,后面详细介绍    方法:driver.find_element_by_xpath()
1. # -*- coding: utf-8 -*-
2. # @Time    : 2021/1/9
3. # @Author  : 大海
4. from selenium import webdriver
5. 
6. driver = webdriver.Chrome()
7. baidu_url = 'https://baidu.com'
8. 
9. # 打开百度
10. driver.get(baidu_url)
11. 
12. # 根据xpath定位
13. driver.find_element_by_xpath("//*[@id='kw']").send_key('selenium')

8. css selector

  • css selector:css选择器,前端的知识,比xpath定位速度快     方法:driver.find_element_by_css_selector('#kw')
1. # -*- coding: utf-8 -*-
2. # @Time    : 2021/1/9
3. # @Author  : 大海
4. from selenium import webdriver
5. 
6. driver = webdriver.Chrome()
7. baidu_url = 'https://baidu.com'
8. 
9. # 打开百度
10. driver.get(baidu_url)
11. 
12. # 根据id属性定位输入框
13. driver.find_element_by_css_selector('#kw').send_keys('selenium')


相关文章
|
1月前
|
Web App开发 前端开发 Java
《手把手教你》系列技巧篇(九)-java+ selenium自动化测试-元素定位大法之By name(详细教程)
【4月更文挑战第1天】 这篇教程介绍了如何使用Selenium Webdriver通过name属性来定位网页元素,作为系列教程的一部分,之前讲解了id定位,后续还会有其他六种定位方法。文中以百度搜索为例,详细说明了定位搜索框(name="wd")并输入关键词“北京宏哥”的步骤,包括手动操作流程、编写自动化脚本以及代码实现。此外,还提供了查看和理解Selenium源码的方法,强调了`open implementation`选项用于查看方法的具体实现。整个过程旨在帮助读者学习Selenium的元素定位,并实践自动化测试。
43 0
|
2月前
|
Web App开发 存储 JavaScript
《手把手教你》系列技巧篇(八)-java+ selenium自动化测试-元素定位大法之By id(详细教程)
【2月更文挑战第17天】本文介绍了Web自动化测试的核心——元素定位。文章首先强调了定位元素的重要性,指出找不到元素则无法进行后续操作。Selenium提供八种定位方法,包括By id、name、class name等。其中,By id是最简单快捷的方式。文章还阐述了自动化测试的步骤:定位元素、操作元素、验证结果和记录测试结果。此外,讨论了如何选择定位方法,推荐优先使用简单稳定的方式,如id,其次考虑其他方法。最后,作者提供了Chrome浏览器的开发者工具作为定位元素的工具,并给出了通过id定位的代码示例。
57 0
|
27天前
|
前端开发 Java 测试技术
《手把手教你》系列技巧篇(十二)-java+ selenium自动化测试-元素定位大法之By link text(详细教程)
【4月更文挑战第4天】本文介绍了link text在自动化测试中的应用。Link text是指网页中链接的文字描述,点击可跳转至其他页面。文章列举了8种常用的定位方法,其中着重讲解了link text定位,并通过实例展示了如何使用Java代码实现点击百度首页的“奥运奖牌榜 最新排名”链接,进入相应页面。如果link text不准确,则无法定位到元素,这说明linkText是精准匹配,而非模糊匹配。文章还提到了partial link text作为link text的模糊匹配版本,将在后续内容中介绍。
38 4
|
25天前
|
XML 前端开发 Java
《手把手教你》系列技巧篇(十四)-java+ selenium自动化测试-元素定位大法之By xpath上卷(详细教程)
【4月更文挑战第6天】按宏哥计划,本文继续介绍WebDriver关于元素定位大法,这篇介绍定位倒数二个方法:By xpath。xpath 的定位方法, 非常强大。使用这种方法几乎可以定位到页面上的任意元素。xpath 是XML Path的简称, 由于HTML文档本身就是一个标准的XML页面,所以我们可以使用Xpath 的用法来定位页面元素。XPath 是XML 和Path的缩写,主要用于xml文档中选择文档中节点。基于XML树状文档结构,XPath语言可以用在整棵树中寻找指定的节点。
47 0
|
19天前
|
前端开发 JavaScript Java
《手把手教你》系列技巧篇(十九)-java+ selenium自动化测试-元素定位大法之By css下卷(详细教程)
【4月更文挑战第11天】按计划今天宏哥继续讲解css的定位元素的方法。但是今天最后一种宏哥介绍给大家,了解就可以了,因为实际中很少用。
46 2
|
21天前
|
前端开发 JavaScript Java
《手把手教你》系列技巧篇(十八)-java+ selenium自动化测试-元素定位大法之By css中卷(详细教程)
【4月更文挑战第10天】本文主要介绍了CSS定位元素的几种方法,包括ID属性值定位、其他属性值定位和使用属性值的一部分定位。作者提供了示例代码,展示了如何使用这些方法在Java+Selenium自动化测试中定位网页元素。通过CSS选择器,可以更精确地找到页面上的特定元素,如输入框、按钮等,并进行相应的操作,如输入文本、点击等。文章还提供了实际运行代码后的控制台输出和浏览器动作的示例。
52 0
|
22天前
|
前端开发 JavaScript Java
《手把手教你》系列技巧篇(十七)-java+ selenium自动化测试-元素定位大法之By css上卷(详细教程)
【4月更文挑战第9天】本文介绍了CSS定位方式的使用,包括它的优势和8种常用的定位方法。CSS定位相比XPath定位更快、更稳定。文章通过示例详细讲解了如何使用CSS定位元素,包括通过id、name、class name、tag name、link text、partial link text以及XPath进行定位。还提供了Java代码示例来演示如何在自动化测试中使用这些定位方法。
43 1
|
5月前
|
移动开发 安全 测试技术
『App自动化测试之Appium应用篇』| 继承于selenium常用的元素定位方法有哪些?如何使用?
『App自动化测试之Appium应用篇』| 继承于selenium常用的元素定位方法有哪些?如何使用?
87 0
|
5月前
|
XML 人工智能 前端开发
软件测试/人工智能|selenium元素定位方式大全
软件测试/人工智能|selenium元素定位方式大全
28 0
|
6月前
|
前端开发 测试技术 Python
Python Selenium元素定位方法详解
Python Selenium元素定位方法详解

热门文章

最新文章