Selenium / Python - 悬停并单击元素

时间:2013-11-12 15:59:34

标签: python firefox hover selenium-webdriver

我遇到了关于Python的Selenium脚本的问题。在我正在与之交互的javascript Web应用程序中,我需要单击的元素在我将鼠标悬停在其上之前不存在。我已经查看并找到了关于如何悬停的各种答案,但序列需要包括在悬停事件期间单击新元素。这是我目前正在使用的代码。一旦add1存在,当发生悬停时,元素将从add添加到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新手,一般是编程,但我无法弄清楚如何正确排序。

非常感谢任何帮助。

2 个答案:

答案 0 :(得分:13)

以下曾为我工作过,请试一试:

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代码。但你可以使用上面的逻辑。

答案 1 :(得分:0)

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

@TDHM 你应该在下面提到它以使其有效

from selenium.webdriver.common.action_chains import ActionChains

谢谢