首页 > 解决方案 > 使用 python 和 selenium 自动单击按钮

问题描述

我想使用 python 和 selenium 自动单击“刷新”按钮(参见图片“刷新按钮”)。我曾尝试使用 xpath、id、类名来定位按钮,但每次都会出现 NoSuchElement 异常,即它无法找到该元素。如何找到刷新按钮?我不在乎它是通过 xpath、id 还是任何其他方式。提前致谢!

HTML

刷新按钮

通过 XPATH 查找尝试

按 ID 查找

类名试试

Python 代码片段

标签: pythonseleniumclick

解决方案


问题可能不是 id/xpath 而是页面上按钮的存在。如果在 HTML 页面完全加载之前执行单击,则该元素可能尚未出现。为了确保,您可以使用 WebDriverWait,如下所示:

element_xpath = '//*[@id="btnRefreshCameraList"]'
wait_time = 15  # wait for page to load for max. 15 seconds
WebDriverWait(
    driver, wait_time).until(
        EC.presence_of_element_located((By.XPATH, element_xpath))
    )
)
driver.find_element_by_xpath(element_xpath).click()

无法访问您的网站,因此无法尝试。


推荐阅读