我使用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的最佳方法是什么?
InnerHTML将返回所选元素内部的元素,outerHTML将返回所选元素的内部HTML
例子:
现在假设您的Element如下所示
<tr id="myRow"><td>A</td><td>B</td></tr>
innerHTML元素输出
<td>A</td><td>B</td>
outerHTML元素输出
<tr id="myRow"><td>A</td><td>B</td></tr>
生活例子:
http://www.java2s.com/Tutorials/JavascriptDemo/f/find_out_the_difference_between_innerhtml_and_outerhtml_in_javascript_example.htm
下面你会发现语法需要根据不同的绑定。根据需要将innerHTML更改为outerHTML。
Python:
element.get_attribute('innerHTML')
Java:
elem.getAttribute("innerHTML");
如果你想要整个页面的HTML,使用下面的代码:
driver.getPageSource();