Python3 Selenium按钮单击问题

Python3 Selenium按钮单击问题,python,selenium,Python,Selenium,我想点击一个按钮,如下图所示 我这样编写代码: try: browser.find_element_by_xpath("//a[@href='/portal/site/16/801']").click() except Exception as e: print(e) 但它总是显示错误,无法定位元素。 这是我想要点击的html代码 <a href="/portal/site/16/801" data-blackname="16" title="课程网站">

我想点击一个按钮,如下图所示

我这样编写代码:

try:
    browser.find_element_by_xpath("//a[@href='/portal/site/16/801']").click()
except Exception as e:
    print(e)
但它总是显示错误,无法定位元素。 这是我想要点击的html代码

<a href="/portal/site/16/801" data-blackname="16" title="课程网站">
                                        <img src="/access/img//site/16.png" class="media-icon" onerror="this.src='/resources/images/app-default-icon2.png'">

                                        <h5><i class="icon-ok"></i>课程网站</h5>

课程网站


有人能帮我解决这个问题吗?提前谢谢

在使用Selenium发送用户名、密码和输入密码后添加随机睡眠。它起作用了

time.sleep(random.randint(3,6))

正如SupportUri提到的,使用显式等待而不是随机睡眠。如果下限不足以使按钮可点击,那么肯定会使错误随机出现

显式等待用于通知Web驱动程序等待特定条件(预期条件)。在这种情况下,按钮是可点击的。默认情况下,显式等待每半秒检查一次条件是否满足

WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.XPATH, "//a[@href='/portal/site/16/801']"))).click()
要使用此功能,您必须导入以下内容:

from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

如果你需要帮助,那么你必须显示完整的页面-添加有问题的url(不是在评论中)文本“它总是显示错误”是最无用的信息。始终将完整的错误消息(完整回溯)放在问题中(作为文本,而不是屏幕截图)。还有其他有用的信息。您是否尝试了预期条件以等待元素可单击?@furas抱歉,出于安全考虑,我无法显示我们学校课程网站的完整html页面代码。无论如何,谢谢你。下次我问问题时,我会注意的。@supputuri谢谢你的评论。通过在发送后添加睡眠(Keys.ENTER),我已经成功地输入了该选项。谢谢