【发布时间】:2020-05-09 16:19:58
【问题描述】:
在一个结构如下的 HTML 文件中:
<div class="card">
<div class="id">
ID: 123456
</div>
<div class="title">
Title 1
</div>
<div class="description">
Description 1
</div>
</div>
<div class="card">
<div class="id">
ID: 89123
</div>
<div class="title">
Title 2
</div>
</div>
假设我有一个可变数量的带有“卡片”类的 div,使用 Selenium 我想遍历这些 div,如果有带有类描述的 div,我想打印他的文本。
我试图做类似下面的代码,但使用find_element_by_xpath。我总是会得到第一个具有“描述”类的元素。如何通过循环遍历 div 来解决此问题并正确获取元素?非常感谢。
cards = webdriver.find_elements_by_xpath("//div[@class='main-div']")
for card in cards:
try:
description = card.find_element_by_xpath("//div[@class='description']")
print(description.text)
except:
print("No description")
【问题讨论】:
标签: python html selenium selenium-webdriver web-scraping