Key.Control +组合键不再适用于SendKeys

时间:2018-10-06 14:30:04

标签: c# selenium-webdriver

我正在尝试使用Selenium打开一个新标签,该代码可以正常工作:

IWebDriver driver = new InternetExplorerDriver();
driver.Navigate().GoToUrl("http://google.com");
Actions actions = new Actions(driver);
actions.SendKeys(Keys.Control + "t").Build().Perform();

我有一段时间没有尝试使用它了,现在,当我使用它时,它不再起作用,它打开了google.com,并在搜索字段中只写了“ t”,它没有打开新的标签页。我尝试了其他CTRL +组合键,但都不起作用。

编辑:我的问题的针对性可能重复内容与我的问题无关。正如我说的那样,这对于Ctrl和其他键之间的任何组合都不再起作用,因为我的问题的标题清楚地说。打开新标签只是使用CTRL +键可以执行的操作之一,我无法发送任何CTRL +键组合,这就是问题所在。我知道IJavaScriptExecutor,但这不是解决问题的方法。就像我说的那样,上面的代码曾经可以工作,但是现在不起作用。我希望能够将CTRL + Key组合发送到我的驱动程序(打开一个新标签只是一个示例,而不是问题的重点),当它不再起作用时,我该怎么做?

编辑2:我发现了KeyDown方法,并使它适用于InternetExplorer,但该代码仍不适用于Chrome。

actions.KeyDown(Keys.Control).SendKeys("t").Build().Perform();

当涉及到Chrome时,IJavaScriptExecutor方法是唯一的方法吗?

0 个答案:

没有答案