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

我是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解决这个问题以来,我还没有看到它们变得可用。

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

解决方案:

试试这个

elements=driver.find_element_by_xpath("//div[@class='delivery-schedule-options']//span[contains(text(),'Not available')]");

给TA打赏
共{{data.count}}人
人已打赏
未分类

为什么一个列表中的一些项目在迭代过程中没有打印出来?

2022-9-16 3:51:22

未分类

最终编译的清单在我的清单文件中没有screenOrientation。

2022-9-16 4:02:17

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索