• selenium 元素信息


    概述

    当通过selenium定位到一个具体的元素后,可以获取该元素的许多详细信息,比如该元素的css样式、标签名、文本以及获取该元素的子元素等等。

    功能

    元素是否显示

    element.is_displayed()
    
    • 1

    此方法用于检查连接的元素是否正确显示在网页上。返回一个布尔值,如果连接的元素显示在当前的浏览器上下文中,则为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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    元素是否被选定

    element.is_selected()
    
    • 1

    此方法确定是否已选择引用的元素。此方法广泛用于复选框、单选按钮、输入元素和选项元素。返回一个布尔值,如果在当前浏览上下文中 已选择 引用的元素,则返回 True,否则返回 False。

    获取元素属性值

    element.get_attribute(name)
    
    • 1

    用于获取元素的属性值。比如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'
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    获取元素标签名

    element.tag_name
    
    • 1

    此方法用于获取在当前浏览上下文中 具有焦点的被引用元素的标签名。

    >>> 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'
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    获取元素文本

    element.text
    
    • 1

    获取特定元素渲染后的文本。

    >>> 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.'
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    获取元素css样式

    element.value_of_css_property(property_name)
    
    • 1

    获取当前浏览上下文中元素的特定计算样式属性的值。

    >>> 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)'
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    获取元素矩形

    element.rect
    
    • 1

    用于获取参考元素的尺寸和坐标。提取的数据主体包含元素左上角的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}
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    获取元素子元素

    element.find_element()
    
    • 1

    用于在父元素的上下文中查找匹配的子元素(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...'
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
  • 相关阅读:
    密码学承诺之原理和应用 - Kate多项式承诺
    Hadoop(四)
    关于#php#的问题:wordpress友联头像不显示是啥问题
    Linux学习第42天:Linux RS232/485/GPS 驱动实验:天外来客
    uni-app实现点击复制按钮 复制内容
    冶金行业S2B2B商城交易系统:夯实企业资源聚合能力,提升管理水平
    数据查询必备技能SQL调优:Mysql什么情况下不走索引
    Win11启动修复无效怎么办
    Spring Boot快速入门:构建简单的Web应用
    全国青少年软件编程等级考试标准(正式级)
  • 原文地址:https://blog.csdn.net/weixin_49346755/article/details/125622989