【发布时间】:2019-04-09 04:38:09
【问题描述】:
我正在尝试从 div 获取姓名和联系电话,而 div 有三个跨度,但问题是有时 div 只有一个跨度,有时是两个跨度,有时是三个跨度。
第一个跨度有名字。
第二个跨度有其他数据。
第三跨度有联系电话
这里是 HTML
<div class="ds-body-small" id="yui_3_18_1_1_1554645615890_3864">
<span class="listing-field" id="yui_3_18_1_1_1554645615890_3863">beth
budinich</span>
<span class="listing-field"><a href="http://Www.redfin.com"
target="_blank">See listing website</a></span>
<span class="listing-field" id="yui_3_18_1_1_1554645615890_4443">(206)
793-8336</span>
</div>
这是我的代码
try:
name= browser.find_element_by_xpath("//span[@class='listing-field'][1]")
name = name.text.strip()
print("name : " + name)
except:
print("Name are missing")
name = "N/A"
try:
contact_info= browser.find_element_by_xpath("//span[@class='listing-
field'][3]")
contact_info = contact_info.text.strip()
print("contact info : " + contact_info)
except:
print("contact_info are missing")
days = "N/A"
我的代码没有给我正确的结果。谁能给我最好的解决方案。谢谢
【问题讨论】:
-
我的代码没有给我正确的结果向我们展示结果,并解释为什么它们不是你想要的。
-
@JohnGordon 如果 div 有前两个跨度,那么第二个分配给联系号码。如果 div 有 1,2 或 3 跨度,你能给我正确的代码吗?
标签: python selenium web-scraping