我正在尝试从以下HTML中获取这些元素的文本:
<div class="panel_descripcion">
<span itemprop="description">
<ul>
<li><span style="color: #666666;" class="texto7">Blah blah</span>
</li>
</ul>
</span>
<span itemprop="description">
<ul>
<li><span style="color: #666666;" class="texto7">Blah blah</span>
</li>
</ul>
</span>
<span itemprop="description">
<ul>
<li><span style="color: #666666;" class="texto7">Blah blah</span>
</li>
</ul>
</span>
</div>
目前,我有以下代码,但无法使其工作,找到了元素,但检索到的文本为空:
description_list = dr.find_elements_by_css_selector("div.panel_descripcion > span > span")
for description_elem in description_list:
description = description_elem.text
我已经确定了在HTML的其余部分中没有其他div
具有名为panel_description
的类。你知道吗
编辑
这是我一直在使用的代码,而不是以前的一个,我复制了错误的一个,虽然我不知道它是不正确的!你知道吗
description_list = dr.find_elements_by_css_selector("div.panel_descripcion > span")
for description_elem in description_list:
description = description_elem.find_element_by_css_selector("span").text
提前谢谢
您可以使用jquery选择器,比如
$(".panel_descripcion span:eq(1) li")
它将在第二个span>;li中给出文本您使用了错误的选择器,请尝试使用
div.panel_descripcion > span span
。你知道吗这和您的代码之间的区别是我删除了选择子标记的
>
,并且第二个span不是第一个span的子级。 您的标记是这样的:div>;span>;ul>;li>;span,您的代码正在搜索不存在的div>;span>;span。你知道吗有关cssselector的详细信息,请参见here。你知道吗
如果我没弄错的话,你可以这么做:
但是,如果你尝试使用的站点发生了一些变化,并且我认为你用来获取所需元素的css选择器似乎不正确,那么它将是不灵活的。你知道吗
这将查找此html格式的元素
相关问题 更多 >
编程相关推荐