首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >KeyPress输入硒

KeyPress输入硒
EN

Stack Overflow用户
提问于 2013-11-21 13:30:36
回答 2查看 1.4K关注 0票数 0

我们正在进行自动化测试,在这种情况下,我需要从浏览器下载文件。在下载中,当点击下载按钮时,我们将进入系统pop进行下载,在那里我们需要执行enter操作。

是否有人能帮助我们执行目前我们使用的机器人API的输入或键盘操作,但它不是在网格系统上工作,这是我的机器人代码,它可以增强和使用,或者我们有任何替代的方式来做它。

*********************

代码语言:javascript
复制
public void downloadReportFromMyExport(WebDriver driver, String downloadSufixId) throws AWTException,
            InterruptedException
    {
        String downloadPrefixId =     ConfigProperty.getConfig("downloadPrefixId").trim();
        String[] suffix;
        suffix = StringUtil.split(downloadSufixId, "TR_EXP_");
        String suffixPart = suffix[0];
        String completeId = downloadPrefixId.concat(suffixPart);
        By id = By.id(completeId);
        WebElement element = driver.findElement(id);
        element.click();
        Robot pressKey = new Robot();
        pressKey.keyPress(KeyEvent.VK_ENTER);
        pressKey.keyRelease(KeyEvent.VK_ENTER);
        threadSleep("5");
        pressKey.keyPress(KeyEvent.VK_ALT);
        pressKey.keyPress(KeyEvent.VK_F4);
        pressKey.keyRelease(KeyEvent.VK_F4);
        pressKey.keyRelease(KeyEvent.VK_ALT);
        logger.info("Downlaod Complete");
    }
EN

回答 2

Stack Overflow用户

发布于 2013-11-21 13:43:32

在firefox浏览器中,

解决方案-1

您可以更改浏览器设置,以便无需询问就可以将所有下载保存到该位置。

请参阅下面的链接以了解如何在firefox中更改该设置。

https://support.mozilla.org/en-US/kb/startup-home-page-download-settings

解决方案-2

通过使用firefox配置文件设置,您可以实现这一点。

代码语言:javascript
复制
FirefoxProfile profile=new FirefoxProfile();
profile.setPreference("browser.download.folderList",2);
profile.setPreference("browser.download.manager.showWhenStarting",false);
profile.setPreference("browser.download.dir","C:\\Users\\Downloads\\");         profile.setPreference("browser.helperApps.neverAsk.saveToDisk","text/csv");
DesiredCapabilities dc = DesiredCapabilities.firefox(); 
dc.setCapability(FirefoxDriver.PROFILE, profile);
WebDriver driver=new FirefoxDriver(dc);
票数 0
EN

Stack Overflow用户

发布于 2013-11-26 07:38:02

是的,我也遇到过同样的问题

最好将浏览器设置更改为保存在特定路径中。

用于处理不同的浏览器,例如,

在FF里,我用过

默认情况下,在firefox中,控件将处于“打开”选项中。

代码语言:javascript
复制
Robot robot=new Robot();
robot.keyPress(KeyEvent.VK_DOWN);
robot.keyRelease(KeyEvent.VK_DOWN);
robot.keyPress(KeyEvent.VK_ENTER);
robot.keyRelease(KeyEvent.VK_ENTER);

对于IE (保存alt+s,打开alt+O),在这里保存文件

代码语言:javascript
复制
robot.keyPress(KeyEvent.VK_ALT);
robot.keyPress(KeyEvent.VK_S);
robot.keyRelease(KeyEvent.VK_ALT);
robot.keyRelease(KeyEvent.VK_S);

用于铬

默认情况下,当您单击dowload按钮时,它将保存而不显示任何弹出窗口。

我成功了,希望它能帮到你

-Ajay

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20122341

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档