如何發送Selenium Chrome快捷方式? 我的意思是像按Ctrl +小號,按Ctrl +Ť或按Ctrl +P其中有無關WebElements快捷方式。我在那裏讀了很多類似的問題,但沒有一個建議的解決方案適用於我。Selenium ChromeDriver C# - 如何發送快捷方式瀏覽器
比方說,我想打開一個新標籤(按Ctrl + 牛逼)在瀏覽器上,我嘗試了所有下面的代碼沒有成功:
「標準」的方式:
IWebElement body = myDriver.FindElement(By.TagName("body")); body.SendKeys(Keys.Control + "t");
的操作方式:
Actions action = new Actions(myDriver); action.SendKeys(Keys.Control + "t").Build().Perform();
的ChromeDriver方法1:
if(myDriver is ChromeDriver) { ChromeDriver chromeDriver = myDriver as ChromeDriver; chromeDriver.Keyboard.SendKeys(Keys.Control + "t"); }
的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");
注意,第一個方法,我mentionned工作對我來說與其他的webdriver不是Chrome。 我使用:
- 硒3.0.1
- ChromeDriver 2.27.440174
我的驅動程序的初始化是很基本的:
ChromeOptions options = new ChromeOptions();
this.myDriver = new ChromeDriver(/* my path */, options);
任何想法?
感謝這個替代方案:)我專注於發送關鍵事件,但您的解決方案爲我工作完美 –