Selenium webdriver:IE 11 sendKeys - 在输入(文本框)中选择所有(Ctrl + A)文本

时间:2015-07-07 13:35:48

标签: c# internet-explorer selenium webdriver

我有使用(Ctrl + A)选择文本的方法,我在自动化测试中使用它。

public static void SelectText(IWebElement input)
{
    Actions actions = new Actions(driver);
    actions.Click(input).SendKeys(Keys.Control + "a").Perform();
}

在Chrome和Firefox方法SelectText(正常工作)中。但在IE 11中无法正常工作。 在IE中它只输入“a”。

例如:在输入中是文本“lorem ipsum”。在IE中,此方法将“a”附加到值“lorem ipsuma”的末尾。

我的配置: Windows 8.1,Selenium版本2.46.0,IEDriverServer.exe(x86版本)。

IE初始化

InternetExplorerOptions ieOptions = new InternetExplorerOptions();
ieOptions.EnableNativeEvents = false;
IWebDriver driver = new InternetExplorerDriver(ieOptions);

我该如何解决?

4 个答案:

答案 0 :(得分:0)

而不是尝试使用ASCII Code并使用Build().Perform(),而不仅仅是Perform()

  char c = '\u0001'; // ASCII code 1 for Ctrl-A

  actions.Click(input).SendKeys(Convert.ToString(c)).Build().Perform();

答案 1 :(得分:0)

我正在使用浏览器开关,当运行IE11时,我使用以下代码来选择所有:

input.SendKeys(""); // focus element
SendKeys.SendWait ("^a"); // use windows to send input

答案 2 :(得分:0)

在Internet Explorer中,这对我有用

Actions actions = new Actions(_driver);
            actions.Click(IWebElement);
            actions.Click(cellProjectName).SendKeys("GU" + "Project" + "-" + consecutiveProjects).Perform();

在C#中

答案 3 :(得分:-1)

我使用的是.NET,这对我有用:

input.SendKeys(Keys.Control & "a")