【问题标题】:Selenium/Python - hover and click on elementSelenium/Python - 悬停并单击元素
【发布时间】:2023-03-27 22:05:01
【问题描述】:

我在 Python 上的 Selenium 脚本遇到了问题。在我与之交互的 javascript Web 应用程序中,我需要单击的元素不存在,直到我将鼠标悬停在它上面。我已经查看并找到了有关如何悬停的各种答案,但是该序列需要包括在悬停事件期间单击新元素。这是我目前正在使用的代码。当出现悬停时,元素从 add 重命名为 add1,一旦 add1 存在;我应该可以单击/send.keys 来执行所述元素。

...
driver = webdriver.Firefox()
from selenium.webdriver.common.action_chains import ActionChains
...
add = driver.find_element_by_css_selector('input.add')
Hover = ActionChains(driver).move_to_element(add)
Hover.perform()
SearchButton = driver.find_element_by_css_selector('input.add1')
SearchButton.click()

我是 Python 和一般编程的新手,但我不知道如何正确排序。

任何帮助将不胜感激。

【问题讨论】:

    标签: python firefox hover selenium-webdriver


    【解决方案1】:

    以下对我有用,请试一试:

    add = driver.find_element_by_css_selector('input.add')
    SearchButton = driver.find_element_by_css_selector('input.add1')
    
    Hover = ActionChains(driver).move_to_element(add).move_to_element(SearchButton)
    Hover.click().build().perform()
    

    我不确定上面的 Python 代码。但是你可以使用上面的逻辑。

    【讨论】:

    • 注意这些错误:'ActionChains' 对象没有属性'build' 我在我的代码中删除了您的解决方案的构建。但是感谢其余的答案,这对我非常有用。
    【解决方案2】:

    这里是另一个有用的链接 How to mouseover in python Webdriver

    @TDHM 您应该在下面提到这一行以使其正常工作

    from selenium.webdriver.common.action_chains import ActionChains
    

    谢谢

    【讨论】:

      猜你喜欢
      • 2021-07-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-21
      • 1970-01-01
      • 2021-01-13
      • 2017-07-09
      相关资源
      最近更新 更多