8

我在 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 和一般编程的新手,但我不知道如何正确排序。

任何帮助将不胜感激。

4

2 回答 2

20

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

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 代码。但是您可以使用上述逻辑。

于 2013-11-13T04:55:36.883 回答
1

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

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

from selenium.webdriver.common.action_chains import ActionChains

谢谢你

于 2014-10-05T10:22:54.150 回答