使用硒相对于另一个Web元素定位Web元素

时间:2019-08-23 03:50:54

标签: selenium-webdriver

我正在尝试使用网络机器人/硒来定位并单击网页上的按钮。问题是,有问题的元素的id是一个未知的整数,每周变化一次。页面的外观如下:

enter image description here

实际的点击按钮位于每个“ 17:00”周围,并且其中一个元素的相关html是:

<label tabindex="0" id="lbl_appt1566856800" for="appt1566856800"><span class="display-time">17:00</span><div class="small num-slots-available-container">11 <span id="spots-left-text">spots left</span></div></label>

这些ID值会随着日期的前移而改变,因此我不能使用web.click('lbl_appt1566856800'),因为那样只能工作一次。但是,我注意到要单击的元素上方的div包含星期几的名称:

<div class="day-of-week babel-ignore">Monday</div>

说我想单击元素,该元素在其上方的div中的天名称是“ Monday”。如何找到要通过web.click方式传递给硒的元素?

1 个答案:

答案 0 :(得分:1)

您可以使用以下x-path来查找元素,

//div[@class='day-of-week bable-ignore' and text()='Monday']/following-sibling::label[starts-with(@id,'lbl_appt')]