当前位置:网站首页>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...'
边栏推荐
- Float. The specific meaning of the return value of floattorawintbits is to convert float into byte array
- -v parameter of GST launch
- Using repositoryprovider to simplify the value passing of parent-child components
- 通配符选择器
- The city chain technology Digital Innovation Strategy Summit was successfully held
- 【obs】libobs-winrt :CreateDispatcherQueueController
- 力扣 1200. 最小绝对差
- redis集群模拟消息队列
- PHP uses ueditor to upload pictures and add watermarks
- IBM has laid off 40 + year-old employees in a large area. Mastering these ten search skills will improve your work efficiency ten times
猜你喜欢

third-party dynamic library (libcudnn.so) that Paddle depends on is not configured correctl

测试外包公司怎么样?

Bitcoinwin (BCW) was invited to attend Hanoi traders fair 2022

Android interview, Android audio and video development

JMeter 常用的几种断言方法,你会了吗?

SecureRandom那些事|真伪随机数

Microwave radar induction module technology, real-time intelligent detection of human existence, static micro motion and static perception

40000 word Wenshuo operator new & operator delete

城链科技数字化创新战略峰会圆满召开

Summer Challenge database Xueba notes, quick review of exams / interviews~
随机推荐
UWB超宽带定位技术,实时厘米级高精度定位应用,超宽带传输技术
How to apply smart contracts more wisely in 2022?
【C语言】字符串函数及模拟实现strlen&&strcpy&&strcat&&strcmp
微波雷达感应模块技术,实时智能检测人体存在,静止微小动静感知
司空见惯 - 英雄扫雷鼠
webuploader文件上传 拖拽上传 进度监听 类型控制 上传结果监听控件
MMO項目學習一:預熱
ACM getting started Day1
太牛了,看这篇足矣了
爬虫练习题(二)
Reptile exercises (II)
Wildcard selector
Where is the operation of new bonds? Is it safer and more reliable to open an account
毫米波雷达人体感应器,智能感知静止存在,人体存在检测应用
Successful entry into Baidu, 35K monthly salary, 2022 Android development interview answer
40000 word Wenshuo operator new & operator delete
[FAQ] summary of common causes and solutions of Huawei account service error 907135701
-v parameter of GST launch
third-party dynamic library (libcudnn.so) that Paddle depends on is not configured correctl
Summer Challenge database Xueba notes, quick review of exams / interviews~