我有使用(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);
我该如何解决?
答案 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")