如何处理selenium webdriver for safari的文件下载

时间:2014-01-09 10:57:17

标签: selenium safari selenium-webdriver

我想知道它有任何所需的功能或选项设置Safari selenium webdriver将文件保存到特定位置类似于我们为firefox驱动程序。

还要禁用文件保存对话框的弹出窗口。

此致 人士Himanshu

1 个答案:

答案 0 :(得分:0)

您可以查看以下链接。 dataDir你工作但不确定

http://code.google.com/p/selenium/wiki/DesiredCapabilities#Safari_specific

试试这个

Selenium sel = new DefaultSelenium("localhost", 4444, "*safari", baseURL);
CommandExecutor executor = new SeleneseCommandExecutor(sel);
DesiredCapabilities dc = new DesiredCapabilities();
dc.setCapability("safari.options.dataDir", "your folder path");
WebDriver browser = new RemoteWebDriver(executor, dc);

新更新:关闭保存下载警告

WebElement link = driver.findElement(By.xpath("myxpath"));
clickAndSaveFileIE(link);


public static void clickAndSaveFileIE(WebElement element) throws InterruptedException{
    try {
            Robot robot = new Robot();
             //get the focus on the element..don't use click since it stalls the driver          
            element.sendKeys("");
            //simulate pressing enter            
            robot.keyPress(KeyEvent.VK_ENTER);
            robot.keyRelease(KeyEvent.VK_ENTER);
            //wait for the modal dialog to open            
            Thread.sleep(2000);
            //press s key to save            
            robot.keyPress(KeyEvent.VK_S);
            robot.keyRelease(KeyEvent.VK_S);
            Thread.sleep(2000);
            //press enter to save the file with default name and in default location
            robot.keyPress(KeyEvent.VK_ENTER);
            robot.keyRelease(KeyEvent.VK_ENTER);
        } catch (AWTException e) {

            e.printStackTrace();
        }