我正在使用C#和Selenium 2.0 / Webdriver,我正在尝试模拟双击表格行,打开一个新的浏览器窗口。
我有两个问题:
找到具有唯一类名的表行后(即使用findelement(By.classname("...")))
应用click方法(或选择/提交)不会执行任何操作并抱怨无法执行该类操作在有问题的元素上。
如何在Selenium 2.0 / Webdriver中执行双击?
答案 0 :(得分:7)
您应该点击表格单元格(<td>
)元素
WebDriver中尚未实现双击。有关状态,请参阅Issue #244。此问题的评论还包含一个JavaScript,可用于在Firefox中双击。
对于IE,您需要执行以下操作:
(IJavaScriptExecutor)driver).executeScript("arguments[0].fireEvent('ondblclick');", cell);
对于Firefox和Chrome:
(IJavaScriptExecutor)driver).executeScript("var evt = document.createEvent('MouseEvents');" +
"evt.initMouseEvent('dblclick',true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0,null);" +
"arguments[0].dispatchEvent(evt);", cell);
其中cell
是您要在其上执行脚本的Web元素。
答案 1 :(得分:4)
要进行双击,您可以执行以下操作:
from selenium.webdriver import ActionChains
action_chains = ActionChains(driver)
action_chians.double_click(on_element).perform()
* where,on_element =要双击*
的元素我是用python做的。它有效:)