如何使用Selenium发送Chrome快捷方式?我的意思是像Ctrl+ S,Ctrl+ T或Ctrl+ P这样的快捷方式与WebElements无关。我在那里读了很多类似的问题,但是没有建议的解决方案对我有用。
假设我想在浏览器中打开一个新标签(Ctrl+ T),我尝试了以下所有代码,但均未成功:
“标准”方式:
IWebElement body = myDriver.FindElement(By.TagName("body"));
body.SendKeys(Keys.Control + "t");
Run Code Online (Sandbox Code Playgroud)动作方式:
Actions action = new Actions(myDriver);
action.SendKeys(Keys.Control + "t").Build().Perform();
Run Code Online (Sandbox Code Playgroud)ChromeDriver方法1:
if(myDriver is ChromeDriver)
{
ChromeDriver chromeDriver = myDriver as ChromeDriver;
chromeDriver.Keyboard.SendKeys(Keys.Control + "t");
}
Run Code Online (Sandbox Code Playgroud)ChromeDriver方法2:
ChromeDriver chromeDriver = myDriver as ChromeDriver;
chromeDriver.Keyboard.PressKey(Keys.Control);
chromeDriver.Keyboard.PressKey("t");
chromeDriver.Keyboard.ReleaseKey(Keys.Control);
chromeDriver.Keyboard.ReleaseKey("t");
Run Code Online (Sandbox Code Playgroud)请注意,我提到的第一种方法适用于Chrome以外的其他WebDriver。我用 :
我的驱动程序的初始化实际上是非常基本的:
ChromeOptions options = new ChromeOptions();
this.myDriver = new ChromeDriver(/* my path */, options); …Run Code Online (Sandbox Code Playgroud)