python - 使用 Selenium 和 Python 选择价格并更改类
问题描述
我通过导航到不同的列表来从站点中提取价格,但是列表之间的类不是恒定的:
清单 1:
<div class="jss238" data-lpos="price-widget">
<div class="jss57 jss277 jss268">
$329.00
<span class="jss269">/Night</span>
</div>
</div>
清单 2:
<div class="jss501" data-lpos="price-widget">
<div class="jss57 jss540 jss531">
$250.00
<span class="jss269">/Night</span>
</div>
</div>
每个列表的类都会发生变化。根据我一直在学习的内容,我可以按班级进行选择,但列表之间并不一致。我可以使用“price-widget”作为起点吗?
解决方案
是的你可以。
使用以下 XPATH :
//span[contains(text(), '/Night')]/preceding-sibling::div
获取列表中的所有内容并对其进行迭代并获得所需的元素。如下所示:
price_list = driver.find_elements(By.XPATH, "//span[contains(text(), '/Night')]/preceding-sibling::div")
for price in price_list:
print(price.text)
推荐阅读
- javascript - 如何从 jQuery DateTimePicker、Asp Net 中删除/隐藏时间
- ios - InApp 购买产生错误的 SKPaymentTransaction 状态
- r - R函数将日期数据合并到一列
- c++ - 如何停止 QTimer?
- python - “OSError:2”使用 Python 图像库将 TIFF 图像转换为 PNG 时
- javascript - 使用 NodeJS 提出 Discord 请求(更改 Vanity Discord)
- python - 我不知道为什么它不读取我的 Mac 地址
- javascript - 使用 switch JavaScript 显示不同类型的表单
- javascript - chart js 停止图表区域功能
- architecture - 在分布式程序中,进程崩溃时如何恢复其对应的数据