首页 > 解决方案 > python selenium点击页面按钮

问题描述

我是关于 python selenium 的新手,我正在尝试单击具有以下 html 结构的按钮:

 <a href="javascript:doPage('2');">2</a>
    -->
    <a href="#doPage2" onclick="javascript:doPage('2');">2</a>
    <img src="/images/common/divisionLine.gif" alt="" />
    <!--
    <a href="javascript:doPage('3');">3</a>
    -->
    <a href="#doPage3" onclick="javascript:doPage('3');">3</a>
    <img src="/images/common/divisionLine.gif" alt="" />

我想像下面的代码一样单击超链接名称“2”或“3”。但它不起作用。

wait(driver, 5).until(EC.element_to_be_clickable((By.XPATH,"//a[@onclick=\"javascript:doPage('2');\"]"))).click()

当我运行我的 python 代码时,我得到了下面的错误注释。

selenium.common.exceptions.WebDriverException: Message: unknown error: Element is not clickable at point (577, 821)

任何可以为我指明正确方向的想法都会很棒。谢谢。

标签: pythonselenium-webdriver

解决方案


您可以尝试用动作类替换点击事件,

from selenium.webdriver.common.action_chains import ActionChains

actions = ActionChains(driver)
actions.move_to_element("Your Element").click().perform()

如果有什么需要先悬停,你可以用同一个类来实现,

action.move_to_element("Your Element").build().perform()

推荐阅读