如何使用selenium获取特定元素的html源代码?

Riv*_*vka 7 python selenium

我正在查看的页面包含:

<div id='1'> <p> text 1 <h1> text 2 </h1> text 3 <p> text 4 </p> </p> </div>
Run Code Online (Sandbox Code Playgroud)

我希望得到div中的所有文本,除了文本中的文本<h>.(我想得到"文本1","文本3"和"文本4")可能有一些<h>元素,或者根本没有元素.并且可能存在一些<p>元素,甚至一个元素,或者没有元素.

我想通过获取div的所有html源代码并使用正则表达式删除<h>元素来实现此目的.但selenium.get_text不会返回html,只返回文本(全部!).

我知道我可以使用selenium.get_html_source然后用正则表达式查找我需要的元素,但这看起来很浪费,因为selenium知道如何找到元素.

有没有人有更好的解决方案?谢谢 :)

luc*_*luc 9

以下代码将为您提供div元素中的HTML:

sel = selenium('localhost', 4444, browser, my_url)
html = sel.get_eval("this.browserbot.getCurrentWindow().document.getElementById('1').innerHTML")
Run Code Online (Sandbox Code Playgroud)

然后你可以使用BeautifulSoup来解析它并提取你真正想要的东西.

我希望它有所帮助