出于速度等原因,我正在尝试通过将HTML源代码作为字符串提供给我编写的硒程序。我不希望它获取URL,也不希望它打开文件,我只想将包含该站点整个DIV部分的字符串传递给它,并对其进行解析。 这是我编写的模块的一部分:
source = driver.page_source
return {'containers': source}
在另一个模块中,
def get_rail_origin(self):
return self.data['containers'].find_element_by_id('o_outDepName')...
我正在尝试对其进行解析,但是我得到了
AttributeError:“ str”对象没有属性“ find_element_by_id”
所以我如何在不打开任何文件或URL的情况下解析纯HTML源代码
答案 0 :(得分:1)
Selenium与 live HTML DOM一起使用。如果要获取源代码然后进行解析,可以尝试使用lxml.html
:
def get_rail_origin(self):
source = html.fromstring(self.data['containers'])
return source.get_element_by_id('o_outDepName')
P.S。我假设self.data['containers']
是HTML源代码