Selenium C#在ChromeDriver中发送保存命令

Selenium C#在ChromeDriver中发送保存命令,c#,selenium,selenium-webdriver,automated-tests,selenium-chromedriver,C#,Selenium,Selenium Webdriver,Automated Tests,Selenium Chromedriver,我试图在查看pdf文件时在Chrome中打开“保存文件”对话框(按Ctrl+s键)。我目前拥有的似乎没有发送任何按键,因为什么都没有发生。我不需要担心一旦打开“保存文件”对话框,我会如何处理它,我只需要打开它。这就是我现在拥有的: Actions action = new Actions(driver); action.MoveToElement(driver.FindElement(By.TagName("body"))); action.KeyDown(OpenQA.Selenium.Key

我试图在查看pdf文件时在Chrome中打开“保存文件”对话框(按Ctrl+s键)。我目前拥有的似乎没有发送任何按键,因为什么都没有发生。我不需要担心一旦打开“保存文件”对话框,我会如何处理它,我只需要打开它。这就是我现在拥有的:

Actions action = new Actions(driver);
action.MoveToElement(driver.FindElement(By.TagName("body")));
action.KeyDown(OpenQA.Selenium.Keys.Control).SendKeys("s").KeyUp(OpenQA.Selenium.Keys.Control);
action.Build();
action.Perform();

打开选项卡后,您可以尝试使用Robot API:

Robot key = new Robot();
            key.keyPress(KeyEvent.VK_CONTROL);
            key.keyPress(KeyEvent.VK_S);
            key.keyRelease(KeyEvent.VK_S);
            key.keyRelease(KeyEvent.VK_CONTROL);

这应该行得通。确保浏览器没有最小化。

我使用Windows窗体来完成这项工作,我本来打算这样做以与“保存文件”对话框交互,因此我不担心依赖关系。我指示Chrome查看pdf,然后发送了Ctrl+s命令

SendKeys.SendWait("^(s)");

组合键不适用于
Chrome
。尝试
Firefox
而不是在Chrome中测试应用程序。还有其他保存pdf的方法吗?您可以尝试使用
String pageSource=driver.getPageSource()
将文件内容另存为字符串,但我不确定您是否可以尝试键和弦组合。或者-action.SendKeys(Keys.Control+“s”)如何;对不起,我应该指定我使用的是C。机器人课对我不起作用。