如何在使用C#的Selenium WebDriver中按下“Esc”键

17

我遇到这样一种情况,必须按下“ESC”键才能停止页面加载。

如果不按“ESC”键,则页面将持续加载一分钟。

如何让selenium webdriver按下“Esc”键。 这必须使用C#完成。

还请提及需要导入的类。

Translated:
我有一个情况,必须按下'ESC'键才能停止页面加载。
否则页面会持续加载一分钟。
如何使用C#使selenium webdriver按下'Esc'键。
也请说明需要导入的类。
2个回答

20

您可以使用Actions类直接将按键发送到浏览器。请参见以下代码的最后两行:

您可以使用Actions类直接将按键发送到浏览器。请参见以下代码的最后两行:

using OpenQA.Selenium;
using OpenQA.Selenium.Firefox;
using OpenQA.Selenium.Interactions;

IWebDriver driver = new FirefoxDriver(ffprofile);
driver.Navigate().GoToUrl("http://www.google.com");
driver.FindElement(By.Name("q")).SendKeys("Stack Overflow");
driver.FindElement(By.Name("q")).Submit();

Actions action = new Actions(driver);
action.SendKeys(OpenQA.Selenium.Keys.Escape);

希望这有所帮助。


6
这个方法对我有用,它是在发送键后调用Perform方法,像这样:action.SendKeys(OpenQA.Selenium.Keys.Escape).Perform(); - Alex
在Java中,最后一行是action.sendKeys(Keys.ESCAPE); - Neur0

1
也许这个会有帮助:

 System.Windows.Forms.SendKeys.SendWait("{ESC}");

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接