当前位置:网站首页>selenium 元素信息
selenium 元素信息
2022-07-05 19:49:00 【不负韶华ღ】
概述
当通过selenium定位到一个具体的元素后,可以获取该元素的许多详细信息,比如该元素的css样式、标签名、文本以及获取该元素的子元素等等。
功能
元素是否显示
element.is_displayed()
此方法用于检查连接的元素是否正确显示在网页上。返回一个布尔值,如果连接的元素显示在当前的浏览器上下文中,则为True;否则返回False。
>>> from selenium import webdriver
>>> from selenium.common import By
>>> driver = webdriver.Chrome()
>>> driver.get("https://www.example.com")
>>> element = driver.find_element(By.TAG_NAME, "p")
# 判断该元素是否显示
>>> element.is_displayed()
True
元素是否被选定
element.is_selected()
此方法确定是否已选择引用的元素。此方法广泛用于复选框、单选按钮、输入元素和选项元素。返回一个布尔值,如果在当前浏览上下文中 已选择 引用的元素,则返回 True,否则返回 False。
获取元素属性值
element.get_attribute(name)
用于获取元素的属性值。比如name属性、id属性、class属性、href属性等等。
>>> from selenium import webdriver
>>> from selenium.common import By
>>> driver = webdriver.Chrome()
>>> driver.get("https://www.example.com")
>>> element = driver.find_elements(By.TAG_NAME, "p")[1]
>>> element = element.find_element(By.TAG_NAME, "a")
# 获取href属性
>>> element.get_attribute("href")
'https://www.iana.org/domains/example'
获取元素标签名
element.tag_name
此方法用于获取在当前浏览上下文中 具有焦点的被引用元素的标签名。
>>> from selenium import webdriver
>>> from selenium.common import By
>>> driver = webdriver.Chrome()
>>> driver.get("https://www.example.com")
>>> element = driver.find_element(By.TAG_NAME, "p")
# 获取标签名
>>> element.tag_name
'p'
获取元素文本
element.text
获取特定元素渲染后的文本。
>>> from selenium import webdriver
>>> from selenium.common import By
>>> driver = webdriver.Chrome()
>>> driver.get("https://www.example.com")
>>> element = driver.find_element(By.TAG_NAME, "p")
# 获取元素文本
>>> element.text
'This domain is for use in illustrative examples in documents. You may use this domain in literature without prior coordination or asking for permission.'
获取元素css样式
element.value_of_css_property(property_name)
获取当前浏览上下文中元素的特定计算样式属性的值。
>>> from selenium import webdriver
>>> from selenium.common import By
>>> driver = webdriver.Chrome()
>>> driver.get("https://www.example.com")
>>> element = driver.find_element(By.TAG_NAME, "p")
# 获取元素的文字颜色
>>> element.value_of_css_property("color")
'rgba(0, 0, 0, 1)'
获取元素矩形
element.rect
用于获取参考元素的尺寸和坐标。提取的数据主体包含元素左上角的X轴位置、元素左上角的y轴位置、元素的高度、元素宽度。
>>> from selenium import webdriver
>>> from selenium.common import By
>>> driver = webdriver.Chrome()
>>> driver.get("https://www.example.com")
>>> element = driver.find_element(By.TAG_NAME, "p")
# 获取元素的矩形坐标
>>> element.rect
{'height': 60, 'width': 418, 'x': 32, 'y': 115.67500305175781}
获取元素子元素
element.find_element()
用于在父元素的上下文中查找匹配的子元素(WebElement)。
>>> from selenium import webdriver
>>> from selenium.common import By
>>> driver = webdriver.Chrome()
>>> driver.get("https://www.example.com")
>>> element = driver.find_elements(By.TAG_NAME, "p")[1]
# 获取元素的子元素
>>> element = element.find_element(By.TAG_NAME, "a")
>>> element.text
'More information...'
边栏推荐
- Based on vs2017 and cmake GUI configuration, zxing and opencv are used in win10 x64 environment, and simple detection of data matrix code is realized
- 【C语言】字符串函数及模拟实现strlen&&strcpy&&strcat&&strcmp
- Common operators and operator priority
- third-party dynamic library (libcudnn.so) that Paddle depends on is not configured correctl
- Is it safe for Guohai Securities to open an account online?
- 国信证券在网上开户安全吗?
- Postman核心功能解析-参数化和测试报告
- C - sequential structure
- CADD课程学习(7)-- 模拟靶点和小分子相互作用 (半柔性对接 AutoDock)
- Gstreamer中的task
猜你喜欢
Explain in detail the functions and underlying implementation logic of the groups sets statement in SQL
redis集群模拟消息队列
力扣 729. 我的日程安排表 I
微波雷达感应模块技术,实时智能检测人体存在,静止微小动静感知
XaaS 陷阱:万物皆服务(可能)并不是IT真正需要的东西
众昂矿业:2022年全球萤石行业市场供给现状分析
IBM has laid off 40 + year-old employees in a large area. Mastering these ten search skills will improve your work efficiency ten times
【合集- 行业解决方案】如何搭建高性能的数据加速与数据编排平台
JVMRandom不可设置种子|问题追溯|源码追溯
SecureRandom那些事|真伪随机数
随机推荐
测试的核心价值到底是什么?
Webuploader file upload drag upload progress monitoring type control upload result monitoring control
通配符选择器
【C语言】字符串函数及模拟实现strlen&&strcpy&&strcat&&strcmp
建议收藏,我的腾讯Android面试经历分享
Analysis of openh264 decoded data flow
软件测试工程师是做什么的?待遇前景怎么样?
【FAQ】华为帐号服务报错 907135701的常见原因总结和解决方法
城链科技数字化创新战略峰会圆满召开
Gstreamer中的task
众昂矿业:2022年全球萤石行业市场供给现状分析
集合
【硬核干货】数据分析哪家强?选Pandas还是选SQL
Common - Hero Minesweeper
Debezium series: modify the source code to support drop foreign key if exists FK
Complete interview questions for interviewers and senior Android engineers in front-line Internet enterprises
The problem of returning the longtext field in MySQL and its solution
IBM大面积辞退40岁+的员工,掌握这十个搜索技巧让你的工作效率至上提高十倍
[OBS] qstring's UTF-8 Chinese conversion to blog printing UTF-8 char*
Apprentissage du projet MMO I: préchauffage