我使用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以获取带有当前元素的源。
Python:
element.get_attribute('innerHTML')
Java:
elem.getAttribute("innerHTML");
C#:
element.GetAttribute("innerHTML");
Ruby:
element.attribute("innerHTML")
JavaScript:
element.getAttribute('innerHTML');
PHP:
$element->getAttribute('innerHTML');
它在ChromeDriver上进行了测试和使用。
您可以读取innerHTML属性以获取元素内容的源,也可以读取outerHTML以获取带有当前元素的源。
Python:
element.get_attribute('innerHTML')
Java:
elem.getAttribute("innerHTML");
C#:
element.GetAttribute("innerHTML");
Ruby:
element.attribute("innerHTML")
JavaScript:
element.getAttribute('innerHTML');
PHP:
$element->getAttribute('innerHTML');
它在ChromeDriver上进行了测试和使用。