簡體   English   中英

無法使用 selenium python 定位 href 元素

[英]Can't locate an href element with selenium python

所以這是我要單擊的元素:

<a href="javascript:void(0);" class="logged_time" id="logged_2021-09-01" presence_id="q25474p2842324" user="haha" date="2021-09-01" worked="8:00" user_ad="hahaha" token="irrelevant" action="log">0:00</a>

不能使用href ,因為它與許多其他元素相同,我想要的是通過它的 id 單擊它,但我的代碼不起作用:這是我的代碼:

browser.find_element_by_xpath('//*[@id="logged_2021-09-01"]').click()

這是錯誤:

消息:沒有這樣的元素:無法定位元素:{"method":"xpath","selector":"//*[@id="logged_2021-09-01"]"}

更新:在此處輸入圖像描述

更新 2:我的代碼有效,問題是我試圖用 IDLE 控制台運行它。 我認為,一旦您通過調用browser = webdriver.Chrome()打開了瀏覽器,那么您就可以手動導航到任何地方,同時保持瀏覽器 object 可用。

嘗試使用以下代碼。 它將嘗試專門查找<a>標記並搜索以“logged_”開頭的 id。 id 可能會在您登錄的每一天發生變化,因此不對日期進行硬編碼可能會在將來為您節省一些時間。 還可以使用 WebDriverWait 來避免在頁面加載之前搜索元素。 否則將找不到該元素,因為頁面/元素尚未加載。

try: 
    xpath = '//a[contains(@id, "logged_")]'
    WebDriverWait(driver, 5).until(EC.presence_of_element_located((By.XPATH, xpath)))
              
    element = browser.find_element_by_xpath(xpath)

    element.click()

except:
    # Ideally you catch each error separately; TimeoutException, NoSuchElementException, ...
    pass

暫無
暫無

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

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