我想通过在python中使用selenium或beautifulsoup
来获取类名为"list group"的特定标记的所有第一个子元素的innerHTML
。
HTML代码:
<div id="history_1" class="list-group">
<div>
<p>a</p>
</div>
<div>
<p>b</p>
</div>
<div>
<p>c</p>
</div>
<p>
d
</p>
</div>
<div>
....
</div>
<div id="history_2" class="list-group">
<div>
<p>e</p>
</div>
<div>
<p>f</p>
</div>
<div>
<p>g</p>
</div>
<p>
h
</p>
</div>
我想得到如下结果:
result[0]="<div><p>a</p></div>
">
result[1]="<div><p>b</p></div>
">
result[2]="<div><p>c</p></div>
">
result[3]="<p>d</p>
">
result[4]="<div><p>e</p></div>
">
result[5]="<div><p>f</p></div>
">
result[6]="<div><p>g</p></div>
">
result[7]="<p>h</p>
">
感谢您的帮助。
指您想要实现的目标,您想要的是outerHTML
,而不是innerHTML
。
使用//*
查询所有节点,使用parent
满足您的需求,如下所示:
elements = driver.find_elements_by_xpath("//*[parent::*[@class='list-group']]")
for element in elements:
print(element.get_attribute('outerHTML'))
您可以简单地使用下面的行。
items = driver.find_elements_by_xpath("//div[@class='list-group']/*")