如何获取网页显示的元素文本?

How to get the text of an element as the web shows?

我正在用 selenium Python 进行一些处理,我的问题是,当我调用 WebElement.text() 时,它在一行中给出了一个没有格式的字符串。但我想得到该文本,就像网络显示的那样,即换行符。

例如,带有文本的元素:

<br>'Hello this is an example'<br>

在网络上显示为:

<br>
'Hello this is an<br> 
example'

我想要第二个结果,但 Selenium 给了我第一个。我尝试 'manually' 使用 PIL 的字宽为文本指定格式,但结果很不准确。

而不是使用 text attribute, you need to use the get_attribute("innerHTML") 如下:

print(WebElement.get_attribute("innerHTML"))

You can find a relevant discussion in


参考资料

Link 到有用的文档:

  • get_attribute()方法Gets the given attribute or property of the element.
  • text属性returnsThe text of the element.
  • Difference between text and innerHTML using Selenium