所以我想使用格式在 selenium python 中使用 timepicker 進行操作。
我有以下變數:
time = Element('xpath=//li[contains(text(),"{}:{} PM")]')
然后我嘗試使用格式來定位元素:
def select_ten_thirty_time(self):
self.time_picker.wait_element_to_be_clickable().click()
self.time.format(10, 30).wait_element_to_be_clickable().click()
但我收到此錯誤:
selenium.common.exceptions.NoSuchElementException: \
Message: Unable to locate element: //li[contains(text(),"{}:{} PM")]
編輯 => 添加 HTML
<li class="react-datepicker__time-list-item
react-datepicker__time-list-item--selected">10:30 PM</li>
感謝您的幫助!
uj5u.com熱心網友回復:
請像這樣使用 f 字串:
hour = '10'
sec = '30'
time = driver.find_element_by_xpath(f"//li[contains(text(),'{hour}:{sec}') and contains(text(),'PM')]")
你可以有相同的 forAM或PM。
uj5u.com熱心網友回復:
你需要寫一個xPath它應該適用于AM和PM時代。
//li[contains(text(),"10:30 AM") or contains(text(),"10:30 PM")]
引數化時間xPath
//li[contains(text()," time " AM") or contains(text()," time " PM")]
代碼:
time = '10:30'
wait.until(EC.element_to_be_clickable((By.XPATH, "//li[contains(text()," time " AM") or contains(text()," time " PM")]")))
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/313844.html
上一篇:如何從頁面中提取資訊
