【发布时间】:2014-01-27 21:18:18
【问题描述】:
我想知道 Safari selenium webdriver 是否有任何所需的功能或选项设置以将文件保存到特定位置 类似于我们为 firefox 驱动程序所做的。
还想禁用文件保存对话框的弹出窗口。
问候, 喜满洲
【问题讨论】:
标签: selenium safari selenium-webdriver
我想知道 Safari selenium webdriver 是否有任何所需的功能或选项设置以将文件保存到特定位置 类似于我们为 firefox 驱动程序所做的。
还想禁用文件保存对话框的弹出窗口。
问候, 喜满洲
【问题讨论】:
标签: selenium safari selenium-webdriver
您可以查看以下链接。 dataDirmar 你有没有工作但不确定
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();
}
【讨论】: