首页 > 解决方案 > 使用 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”作为起点吗?

标签: pythonselenium

解决方案


是的你可以。

使用以下 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)

推荐阅读