PHP前端开发

Python Selenium 中如何获取 WebElement 的可见文本和隐藏文本?

百变鹏仔 4天前 #Python
文章标签 文本

如何获取 selenium webelement 的可见文本和隐藏文本

在 python selenium 中,webelement.text 属性可用于获取元素的可见文本。不过,对于不可见文本却没有直接的接口可供获取。

对于 python selenium 4.4.3 版本,以下解决方案可以帮助你获取不可见文本:

from selenium.webdriver.remote.webdriver import webelementdef get_element_hidden_text(element: webelement) -> str:    """获取元素的隐藏文本,即使文本对于用户不可见    :param element: 要获取隐藏文本的 webelement    :returns: 元素的隐藏文本,如果不存在则返回空字符串    """    inner_html = element.get_attribute("innerhtml")    # 内置函数 strip() 用于去除字符串中的空白字符    return inner_html.strip() if inner_html else ""

使用示例:

from selenium import webdriverbrowser = webdriver.Chrome()browser.get("https://example.com")element = browser.find_element(By.ID, "hidden-element")hidden_text = get_element_hidden_text(element)print(hidden_text)  # 输出元素的隐藏文本