无法双击selenium Web驱动程序c#
本文关键字:驱动程序 Web selenium 双击 | 更新日期: 2023-09-27 18:26:11
我正试图使用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>
根据我所知,双击操作在IE或Chrome中对select元素中的选项不起作用。我已经更新了代码,从select菜单中单击该选项,然后双击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();
尝试更改此行:new Actions(driver).DoubleClick(agentInList).Perform();
到:new Actions(driver).DoubleClick(agentInList).build().Perform();
与user3198015一样,我发现Selenium的双击操作在Firefox中有效,但在Chrome中无效。解决方法是使用两次单击事件,如我对这个相关问题的回答所示。