无法在selenium webdriver c#中双击

时间:2014-10-09 13:14:22

标签: c# selenium selenium-webdriver action double-click

我正在尝试使用c#Selenium WebDriver中的Actions类双击选择框中的选项。以下代码适用于Firefox,但不适用于IE或Chrome。关于为什么或如何调查什么是错误的任何建议?

var sideBarAgentList = new SelectElement(driver.FindElement(By.CssSelector("#agentSelectBox")));
var agentInList = sideBarAgentList.Options.First(o => o.Text == "Agent49159 - 49159");
new Actions(driver).DoubleClick(agentInList).Perform();

HTML

<select id="agentSelectBox" ondblclick="javascript:addAgentDesktop(this.selectedIndex);" onchange="javascript:showAgentInfo(this.selectedIndex);" style="width:220px;background:#e0e0e0;font-family:Verdana;font-size:75%;" size="22">

  <option value="0" style="background:white;color:blue">

      Agent49159 - 49159

  </option>

</select>

3 个答案:

答案 0 :(得分:2)

据我所知,doubleclick操作在IE或Chrome中的select元素中的选项不起作用。我已更新我的代码以单击选择菜单中的选项,然后双击选择元素本身而不是选项。适用于FF,IE和Chrome。

new SelectElement(driver.FindElement(By.CssSelector("#agentSelectBox"))).Options.First(o => o.Text == "Agent49159 - 49159").Click();;       
new Actions(driver).DoubleClick(driver.FindElement(By.CssSelector("#agentSelectBox"))).Perform();

答案 1 :(得分:1)

尝试更改此行:new Actions(driver).DoubleClick(agentInList).Perform();

来: new Actions(driver).DoubleClick(agentInList).build().Perform();

答案 2 :(得分:0)

与user3198015一样,我发现Selenium的双击动作可以在Firefox中使用,但不适用于Chrome。解决方法是使用两个点击事件,如我对this related question的回答所示。