当使用Selenium时,ActionChains是一个非常方便的方法。 它工作得很好,我唯一缺少的是如何在操作之间插入等待时间。
我将从google Selenium官方文档中采用相同的示例。 https://selenium.googlecode.com/git/docs/api/py/webdriver/selenium.webdriver.common.action_chains.html
menu = driver.find_element_by_css_selector(".nav")
hidden_submenu = driver.find_element_by_css_selector(".nav #submenu1")
ActionChains(driver).move_to_element(menu).click(hidden_submenu).perform()
我要找的是在两个操作之间插入等待时间的方法
ActionChains(driver).move_to_element(menu)**(..wait some seconds)**.click(hidden_submenu).perform()
谢谢!
我试过了,看起来很管用
下面是一个基于Kim Homann技巧的Python示例。它扩展了
ActionChains
Selenium类以添加wait
操作。然后你的测试变成:
我不知道Python,但我认为它与C#中的相同。我希望我的代码对你来说是可读的。
您可以从
Actions
创建自己的类ActionsEx
。然后声明一个方法public Actions Wait(TimeSpan duration)
。在这个方法中,您调用AddAction(new SleepAction(duration));
。AddAction()
是Selenium的Actions
类的受保护方法,只有从该类派生时才能访问该类。SleepAction
是一个实现IAction
接口的类,您必须创建该接口。它可以类似于以下示例:动作性爱课:
然后可以调用这样的动作链:
相关问题 更多 >
编程相关推荐