2

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

我有两个问题:

  1. 在找到具有唯一类名的表行后(即使用findelement(By.classname("...")))单击方法(或选择/提交)不执行任何操作并抱怨无法对相关元素执行此类操作。

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

4

2 回答 2

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

  2. WebDriver 中还没有实现双击。有关状态,请参见问题 #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 元素。

于 2010-10-21T12:03:31.733 回答
5

对于双击,您可以执行以下操作:

from selenium.webdriver import ActionChains

action_chains = ActionChains(driver)
action_chians.double_click(on_element).perform()

*where, on_element = 要双击的元素*

我使用python做到了这一点。它奏效了:)

于 2012-04-02T09:09:45.457 回答