Selenium (Python)在先前定位的元素的位置上点击。

问题描述 投票:0回答:1

我是Selenium的新手(2天)。我想写一个脚本来帮助我预定本地超市的送货时段。档期会在一天中的某个随机时间更新,无论我怎么检查,都会错过。在时间段变得可用之前,页面显示以下内容

</span>
<div>06:00 - 08:00</div>
</div>
<div class="delivery-schedule-options">
<span class="delivery-slot-message d-xs-none d-md-inline-block">
<span class="d-md-none">Not available - more slots added soon</span>
<span class="d-xs-none d-md-inline">Not available - more slots added soon</span>
</span>

我想确定 "不可用--即将添加更多槽位 "文本的位置,并在页面更新可用槽位时点击它。页面滚动可能会改变,所以我不想把位置相对于浏览器窗口的某个角落。也许识别时间范围(06:00 - 08:00)右边的元素是可能的?

在插槽变得可用之前,我不知道xml到底显示了什么才能让我直接识别元素,而且自从我开始研究用Selenium解决这个问题以来,我还没有看到它们变得可用。

是的,有些人可能会觉得这种方法在道德上是不可取的。但我把我老邻居的要求也包括在我的订单中,如果这有帮助的话! :)

python selenium element locate
1个回答
0
投票

试试这个

elements=driver.find_element_by_xpath("//div[@class='delivery-schedule-options']//span[contains(text(),'Not available')]");
© www.soinside.com 2019 - 2024. All rights reserved.