我遇到了关于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新手,一般是编程,但我无法弄清楚如何正确排序。
非常感谢任何帮助。
答案 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
谢谢