我正在查看的页面包含:
<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知道如何找到元素.
有没有人有更好的解决方案?谢谢 :)
以下代码将为您提供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来解析它并提取你真正想要的东西.
我希望它有所帮助
| 归档时间: |
|
| 查看次数: |
10165 次 |
| 最近记录: |