我使用Python绑定来运行Selenium WebDriver:
from selenium import webdriver
wd = webdriver.Firefox()
我知道我可以像这样抓取一个webelement:
elem = wd.find_element_by_css_selector('#my-id')
我知道我可以得到整页的源代码…
wd.page_source
但是是否有一种获取“元素源”的方法?
elem.source # <-- returns the HTML as a string
Python的Selenium WebDriver文档基本上不存在,我在代码中没有看到任何支持该功能的东西。
访问一个元素(及其子元素)的HTML的最佳方法是什么?
更新了2022硒检索HTML
首先,下载Selenium WebDriver的Python绑定。
可以从Selenium包的PyPI页面执行此操作。
或者,也可以使用pip来安装Selenium包。Python 3.6在标准库中提供了pip。
方法1
读取innerHTML属性以获得元素内容的源。innerHTML是DOM元素的属性,它的值是开始标记和结束标记之间的HTML。
例如,下面代码中的innerHTML属性包含值" text "
<p>
a text
</p>
element.get_attribute('innerHTML')
方法2
读取outerHTML以获得带有当前元素的源代码。outerHTML是一个元素属性,其值是开始和结束标记之间的HTML以及所选元素本身的HTML。
例如,代码的outerHTML属性携带了一个包含div和span的值。
<div>
<span>Hello there!</span>
</div>
ele.get_atrribute("outerHTML")