在webdriver C#中将Ctrl-0发送到IE 9

时间:2012-08-28 18:22:17

标签: c# internet-explorer selenium webdriver

我尝试发送Ctrl + 0将IE 9设置为100%。

我尝试过以下代码片段:

IWebElement query = Driver.FindElement(By.TagName("html"));

query.SendKeys("^0");
query.SendKeys(Keys.Control + Keys.NumberPad0);

我也尝试了动作对象代码:

 Actions action = new Actions(Driver);
 action.KeyDown(Keys.Control).SendKeys("0").KeyUp(Keys.Control).Perform();

我已经读过Java,WebDriver支持Keys.chord() 但是我在C#中找不到这个的实现。

任何想法都会有所帮助。

1 个答案:

答案 0 :(得分:1)

<html>标记永远不会对驱动程序“可见”,因此无法将密钥发送给它。以下代码适用于我:

IWebElement element = driver.FindElement(By.TagName("body"));
element.SendKeys(Keys.Control + "0");

但是,对于IEDriverServer.exe的最新版本,除非您为驱动程序设置特殊选项以禁用检测缩放设置,否则您将无法实现这一目标。如果您的缩放级别未设置为100%,InternetExplorerDriver构造函数将抛出异常,除非您使用以下内容实例化驱动程序:

InternetExplorerOptions options = new InternetExplorerOptions();
options.IgnoreZoomLevel = true;
IWebDriver driver = new InternetExplorerDriver(options);