在selenium中发送密钥

时间:2014-12-23 21:27:40

标签: c# selenium selenium-webdriver

Winform c#selenium webdriver firefox。它在代码的这一部分给出了错误

builder.KeyDown(OpenQA.Selenium.Keys.F4);

错误

未处理的类型' System.ArgumentException'发生在WebDriver.dll中 附加信息:key必须是修饰键(Keys.Shift,Keys.Control或Keys.Alt)

代码

Actions builder = new Actions(driver);
builder.KeyDown(OpenQA.Selenium.Keys.Alt);
builder.KeyDown(OpenQA.Selenium.Keys.Control);
builder.KeyDown(OpenQA.Selenium.Keys.F4);
builder.KeyUp(OpenQA.Selenium.Keys.Alt);
builder.KeyUp(OpenQA.Selenium.Keys.F4);
builder.KeyUp(OpenQA.Selenium.Keys.Control).Build().Perform();

2 个答案:

答案 0 :(得分:2)

我相信你应该像这样使用SendKeys

builder.KeyDown(OpenQA.Selenium.Keys.Alt);
builder.KeyDown(OpenQA.Selenium.Keys.Control);
builder.SendKeys(OpenQA.Selenium.Keys.F4);

答案 1 :(得分:2)

最后的代码应如下所示。

using OpenQA.Selenium.Interactions;

Actions builder = new Actions(driver);
builder.KeyDown(Keys.Alt);
builder.KeyDown(Keys.Control);
builder.SendKeys(Keys.F4);
builder.KeyUp(Keys.Alt);
builder.KeyUp(Keys.F4);

我不确定最后一行是用于什么的。

builder.KeyUp(Keys.Control).Build().Perform();