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

Ben*_*Ben 2 c# webdriver selenium-webdriver

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

我有两个问题:

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

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

Ser*_*rov 7

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

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

对于IE,您需要执行以下操作:

(IJavaScriptExecutor)driver).executeScript("arguments[0].fireEvent('ondblclick');", cell);
Run Code Online (Sandbox Code Playgroud)

对于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);
Run Code Online (Sandbox Code Playgroud)

其中cell是您要在其上执行脚本的Web元素.


Aja*_*jay 5

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

from selenium.webdriver import ActionChains

action_chains = ActionChains(driver)
action_chians.double_click(on_element).perform()
Run Code Online (Sandbox Code Playgroud)

*其中,on_element = 要双击的元素*

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