Selenium 2 / Webdriver - 如何双击表格行(打开一个新窗口)

时间:2010-10-20 21:25:31

标签: c# webdriver selenium-webdriver

我正在使用C#和Selenium 2.0 / Webdriver,我正在尝试模拟双击表格行,打开一个新的浏览器窗口。

我有两个问题:

  1. 找到具有唯一类名的表行后(即使用findelement(By.classname("...")))应用click方法(或选择/提交)不会执行任何操作并抱怨无法执行该类操作在有问题的元素上。

  2. 如何在Selenium 2.0 / Webdriver中执行双击?

2 个答案:

答案 0 :(得分:7)

  1. 您应该点击表格单元格(<td>)元素

  2. WebDriver中尚未实现双击。有关状态,请参阅Issue #244。此问题的评论还包含一个JavaScript,可用于在Firefox中双击。

  3. 对于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做的。它有效:)