3

我试图发送 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# 中找不到它的实现。

任何想法都会有所帮助。

4

1 回答 1

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);
于 2012-08-28T22:50:00.453 回答