我正在使用 python 包 selenium 撰寫一個腳本,該腳本將每周自動為自己設定約會。我最終想要的是能夠點擊 id="1103222339" 的按鈕。我最初嘗試過driver.find_element_by_id("1103222339").click(),但我不能保證每次運行此腳本時,我需要的約會都會與此 ID 對應。為了解決這個問題,我想查看包含指定我想要的約會時間和日期的文本的標簽,然后以某種方式通過它檢索 id 以獲取值。

我以前沒有使用過 XPath,如何通過文本找到標簽所對應的元素?
uj5u.com熱心網友回復:
您可以構建input基于時間定位目標元素的XPath 運算式,如下所示:
driver.find_element_by_xpath("//tr[.//label[contains(text(),'November 24, 2021 3:20 PM')]]//input").click()
在這里,您當然可以根據需要設定所需的文本。
我構建的 XPath 的意思是:“定位其中包含tr一個label包含November 24, 2021 3:20 PM'文本的元素的元素。因此在其中tr找到一個input元素。”
這就是你需要的。
uj5u.com熱心網友回復:
要單擊<input>按鈕元素,您不能使用 ,id="1103222339"因為它是動態生成的,并且每次訪問應用程式時都會更改。
要單擊元素,您可以使用以下任一定位器策略:
使用
css_selector:driver.find_element(By.CSS_SELECTOR, "a.StrongText[for]").click()使用
xpath:driver.find_element(By.XPATH, "//label[@for and @class='StrongText'][contains(., 'November 24, 2021 3:20 PM')]").click()
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/362325.html
