有一个方式,使用lxml库,先使用selenium获取整个html的DOM,再把Dom转存到lxml对象,这样的方式可以获取到正html Dom tree,下面例子:
def parse_from_unicode(unicode_str): #html DOM tree to lxml 格式
utf8_parser = lxml.etree.HTMLParser(encoding='utf-8')
s = unicode_str.encode('utf-8')
return lxml.etree.fromstring(s, parser=utf8_parser)
def parse(request):
driver = webdriver.PhantomJS()
html =driver.find_element_by_name('html')
lxml_html=parse_from_unicode(html)
kk=lxml_html.xpath('//tr') #使用xpath匹配