元素定位方法
element:只返回匹配到的第一个元素,且找不到就报错
方法一:通过id属性定位
'''
#通过id属性定位
textElement = driver.find_element_by_id('abc')
#获取元素文本值,text获取的是标签对中间的值
print(textElement.text)
'''
方法二:通过name属性定位
'''
#通过name属性定位
inp_Element = driver.find_element_by_name('a1')
inp_Element.send_keys('孔雀东南飞')
'''
方法三:通过xpath定位
'''
#通过xpath定位,不展示在界面上的元素不能直接操作
option_Element = driver.find_element_by_xpath('/html/body/div/select/option[3]')
print(option_Element.text)
'''
方法四:通过链接文本定位
'''
#通过链接文本定位
ele = driver.find_element_by_link_text('访问百度')
ele.click()
'''
方法五:通过部分链接文本定位
'''
#通过部分链接文本定位
driver.find_element_by_partial_link_text('百度').click()
'''
方法六:通过标签名称查找
'''
#通过标签名称进行匹配查找
ele = driver.find_element_by_tag_name('span')
print(ele.text)
'''
方法七:根据class名称查找
'''
#根据class名称进行查找
ele = driver.find_element_by_class_name('a2')
print(ele.text)
'''
复合类:包含空格的属性值,查找时任意找一个即可
方法八:通过css查找器查找
'''
#通过css选择器查找
ele = driver.find_element_by_css_selector('body > div:nth-child(8) >
table > tbody > tr:nth-child(2) > td')
print(ele.text)
'''
匹配元素列表
elements:返回匹配列表,找不到就返回空列表
'''
#通过标签名称进行匹配查找
eleSli = driver.find_elements_by_tag_name('p')
for ele in eleSli:
print(ele.text)
'''
另一种元素定位的方式By
from selenium import webdriver
from selenium.webdriver.common.by import By
driver = webdriver.Chrome()
driver.get('file:///D:/py/test1.html')
ele = driver.find_element(By.ID,'abc')
print(ele.text)
ele = driver.find_element(By.NAME,'a1')
print(ele.text)
原文地址:https://www.cnblogs.com/like1824/p/12966922.html
- 【关关的刷题日记61】Leetcode 102. Binary Tree Level Order Traversal
- 【关关的刷题日记62】Leetcode 104. Maximum Depth of Binary Tree
- DataAnnotations - InverseProperty Attribute:
- 【关关的刷题日记63】Leetcode 111 Minimum Depth of Binary Tree
- Configure Many-to-Many relationship:
- 【关关的刷题日记64】Leetcode 110 Balanced Binary Tree
- 左手用R右手Python系列之——json序列化与反序列化
- 【干货】GAN调研:多极扩展(跨域和条件的GAN扩展模型调研)
- 【干货】TensorFlow实战——图像分类神经网络模型
- HTML5手机APP开发入(5)
- 这种自带黑科技的R包,请给我来一打
- 4927 线段树练习5
- codevs4919 线段树练习4
- 利用OpenCV和深度学习实现人脸检测
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- TensorFlow保存TensorBoard图像操作
- 浅谈PHP SHA1withRSA加密生成签名及验签
- PHP PDO数据库操作预处理与注意事项
- laravel 框架配置404等异常页面
- Django –Xadmin 判断登录者身份实例
- Laravel 队列使用的实现
- keras 两种训练模型方式详解fit和fit_generator(节省内存)
- Keras 中Leaky ReLU等高级激活函数的用法
- Python错误的处理方法
- python3的pip路径在哪
- MySQL 案例:init_connect 引发的 Lost connection
- PHP一个简单的无需刷新爬虫
- PHP实现函数内修改外部变量值的方法示例
- PHP中soap用法示例【SoapServer服务端与SoapClient客户端编写】
- PHP命名空间简单用法示例