Python Selenium 中如何获取 WebElement 的可见文本和隐藏文本?
如何获取 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) # 输出元素的隐藏文本