PHP前端开发

如何使用Selenium获取WebElement中的不可见文本?

百变鹏仔 4天前 #Python
文章标签 如何使用

如何获取 selenium 的 webelement 中的不可见文本?

selenium 的 webelement.text 属性仅返回可见文本。有时,我们可能需要获取不可见文本,例如:

browser = webdriver.chrome()browser.get("")answers_list = browser.find_elements(by.class_name, "list-item")print(answers_list[0].text)# webelement.text 总是返回可见文本,对于不可见文本呢?我找了一下,没找到接口。# 有大兄弟能指教下么?谢谢了。

找不到用于获取不可见文本的标准 selenium 接口。但是,以下方法可以解决这个问题:

使用 execute_script()

可以使用 execute_script() 方法来执行 javascript 代码,直接操作 dom 元素:

text = browser.execute_script("return arguments[0].textcontent;", answers_list[0])print(text)

使用 get_attribute()

对于某些元素,get_attribute() 方法可以获取包含不可见文本的属性:

text = answers_list[0].get_attribute("innerHTML")print(text)