![](/img/trans.png)
[英]How can I delete a downloaded file using Selenium RemoteWebDriver?
[英]How can I set the browser version in Selenium RemoteWebDriver?
当我使用HtmlUnitDriver
我可以设置自己的browserVersion,例如:
private HtmlUnitDriver initDriver() {
BrowserVersion browserVersion = new BrowserVersion(
BROWSER_NAME,
BROWSER_OS,
USER_AGENT,
Float.parseFloat(BROWSER_VERSION));
browserVersion.setBrowserLanguage(BROWSER_LANGUAGE);
browserVersion.setHtmlAcceptHeader(HTML_ACCEPT_HEADER);
return new HtmlUnitDriver(browserVersion);
}
是否可以使用RemoteWebDriver
进行相同的RemoteWebDriver
?
WebDriver driver = new RemoteWebDriver(
new URL("http://localhost:4444/wd/hub"),
myCapabilities);
在Capabilities
我可以设置myCapabilities.setBrowserName("htmlunit")
。 这就是我所能做的吗?
编辑 :
需要明确的是,我需要三件事:
a)Selenium服务器独立,以便能够重用相同的旧SessionID
b)使浏览器只能在控制台上运行(因此没有Firefox afaik)
c)发出与最新浏览器相同的http请求,因此服务器日志中没有差异。
您还可以设置很多参数,例如:
DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setBrowserName("firefox");
capabilities.setVersion("35.0");
capabilities.setPlatform(Platform.VISTA);
try {
driver = new RemoteWebDriver(new URL("http://192.168.63.109:5555/wd/hub"), capabilities);
} catch (MalformedURLException e) {
e.printStackTrace();
}
还有更多设置可以跳过使用自定义FirefoxProfile下载文件的对话框:
public static WebDriver setDriver() {
FirefoxProfile fxProfile = new FirefoxProfile();
fxProfile.setPreference("browser.download.folderList", 2);
fxProfile.setPreference("browser.helperApps.alwaysAsk.force", false);
fxProfile.setPreference("browser.download.manager.showWhenStarting", false);
fxProfile.setPreference("browser.download.dir", dir);
fxProfile.setPreference("browser.helperApps.neverAsk.saveToDisk", "application/vnd.ms-excel," +
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
return new FirefoxDriver(fxProfile);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.