繁体   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