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

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

如何获取 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)

以上就是如何使用Selenium获取WebElement中的不可见文本?的详细内容,更多请关注其它相关文章!