2014-12-23 90 views
0

Winform c#selenium webdriver firefox。它给了我错误的代码在硒中发送密钥

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

错误

类型“System.ArgumentException”未处理的异常的这一部分发生在WebDriver.dll 其他信息:密钥必须是一个修饰键(按键。 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(); 

回答

1

我相信你应该使用SendKeys这样的:

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

最后的代码应该看起来像这样。

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();