前言
看到标题,肯定知道,这一篇又是定位,因为我们做自动化测试,第一步就是定位元素,如果元素都定位不好,那么怎么实现代码点点点?
Xpath
XPath , 全称XML Path Language ,即XML 路径语言,它是一门在XML 文档中查找信息的语言。它最初是用来搜寻XML 文档的,但是它同样适用于HTML 文档的搜索。XPath的选择功能十分强大,它提供了非常简明的路径选择表达式,另外,它还提供了超过100个内建函数,用于字符串、数值、时间的匹配以及节点、序列的处理等,几乎所有我们想要定位的节点,都可以用XPath来选择。
Xpath常用属性
格式:
# XPath定位方法
driver.find_element_by_xpath('//*[@属性=元素值]')
表达式 | 描述 |
nodename | 选取此节点的所有子节点 |
/ | 从当前节点选取直接子节点 |
// | 从当前节点选取子孙节点 |
. | 选取当前节点 |
.. | 选取当前节点的父节点 |
@ | 选取属性 |
* | 通配符,选择所有元素节点与元素名 |
@* | 选取所有属性 |
[@属性] | 选取具有给定属性的所有元素 |
[@属性=‘value’] | 选取给定属性具有给定值的所有元素 |
通用方法定位
这里安静还是以百度输入框为例子
1、通过id属性定位
# coding:utf-8
from selenium import webdriver
driver = webdriver.Chrome()
# 通过id属性定位
driver.get('https://www.baidu.com/')driver.find_element_by_xpath(<