簡體   English   中英

Selenium (Python) 點擊先前定位元素的 position

[英]Selenium (Python) Click at position of a previously located element

我對 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>

我想確定“不可用 - 即將添加更多插槽”文本的位置,並在頁面更新為可用插槽時單擊它。 頁面滾動可能會改變,所以我不想將 position 相對於瀏覽器 window 的某個角落。 也許可以識別時間范圍(06:00 - 08:00)右側的元素?

在插槽可用之前,我不確切知道 xml 顯示什么以便我直接識別元素,而且自從我開始使用 Selenium 解決這個問題以來,我還沒有看到它們可用。

是的,有些人可能會發現這種方法在道德上令人反感。 但是,如果有幫助,我會將我年邁的鄰居的要求包括在我的訂單中::)

嘗試這個

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM