Python selenium元素的定位

视频版教程:一天掌握python爬虫【基础篇】 涵盖 requests、beautifulsoup、selenium

对象的定位应该是自动化测试的核心,要想操作一个对象,首先应该识别这个对象。一个对象就是一个人一样,他 会有各种的特征(属性),如比我们可以通过一个人的身份证号,姓名,或者他住在哪个街道、楼层、门牌找到这 个人。

那么一个对象也有类似的属性,我们可以通过这个属性找到这对象。

注意:不管用那种方式,必须保证页面上该属性的唯一性

webdriver 提供了一系列的对象定位方法,常用的有以下几种

id 通过标签id定位

name 通过标签name定位

class name 通过标签class定位

link text 通过超链接文本定位

partial link text 通过超链接文本(模糊匹配)定位

tag name 通过标签名定位

xpath 通过xpath方式定位

css selector 通过css选择器方式定位

webdriver提供了两个方法查询元素

find_element (查询第一个匹配元素) 和find_elements(查询所有匹配元素)

参考代码:

python 复制代码
import time

from selenium import webdriver
from selenium.webdriver.common.by import By

# 创建浏览器操作对象
browser = webdriver.Chrome()
url = "https://www.baidu.com/"

browser.get(url)

# 元素定位

# 根据id查找对象
button = browser.find_element(By.ID, 'su')

print(button)

# 根据标签名查找
e1 = browser.find_element(By.TAG_NAME, 'input')
print("e1", e1)

# 根据标签的name属性值查找
e2 = browser.find_elements(By.NAME, "wd")
print("e2", e2)

# 根据xpath查找
e3 = browser.find_elements(By.XPATH, '//input[@id="su"]')
print("e3", e3)

# 使用css选择器方式查找
e4 = browser.find_element(By.CSS_SELECTOR, ".s_ipt")
e5 = browser.find_element(By.CSS_SELECTOR, "#su")
print("e4", e4)
print("e5", e5)

# 使用链接文本查找
e6 = browser.find_element(By.LINK_TEXT, "新闻")
e7 = browser.find_elements(By.PARTIAL_LINK_TEXT, "新")
print("e6", e6)
print("e7", e7)

# 使用样式名称查找
e8 = browser.find_element(By.CLASS_NAME, "s_ipt")
print("e8", e8)
相关推荐
葬爱家族小阿杰2 分钟前
python执行测试用例,allure报乱码且未成功生成报告
开发语言·python·测试用例
xx155802862xx4 分钟前
Python如何给视频添加音频和字幕
java·python·音视频
酷爱码5 分钟前
Python实现简单音频数据压缩与解压算法
开发语言·python
花果山总钻风32 分钟前
SQLAlchemy 中的 func 函数使用指南
python
知识中的海王1 小时前
Python html 库用法详解
开发语言·python
面朝大海,春不暖,花不开1 小时前
使用 Python 正则表达式实现文本替换与电话号码规范化
python·mysql·正则表达式
淘小白_TXB21961 小时前
Python网页自动化Selenium中文文档
python·selenium·自动化·网页自动化
Clair-Sean1 小时前
【JavaSE】多线程基础学习笔记
笔记·python·学习
EverBule3 小时前
Python 训练 day46
开发语言·python
WangY_ZQ3 小时前
Python 如何在Python 3.6上安装PIP
linux·python·pip