簡體   English   中英

xpath 獲取元素 label 用於(硒 python)

[英]xpath to get element a label is for (selenium python)

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

在此處輸入圖像描述

我之前沒有使用過 xpath,如何通過其文本找到 label 的元素?

您可以構建基於時間定位目標input元素的 XPath 表達式,如下所示:

driver.find_element_by_xpath("//tr[.//label[contains(text(),'November 24, 2021 3:20 PM')]]//input").click()

當然,您可以在此處根據需要設置所需的文本。
我構建的 XPath 的意思是:“找到其中包含label元素的tr元素,該元素包含November 24, 2021 3:20 PM'文本。所以在這個tr中找到一個input元素。”
這就是您在這里所需要的。

要單擊<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()

暫無
暫無

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

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