gpt4 book ai didi

java - 如何在 Selenium RemoteWebDriver 中设置浏览器版本?

转载 作者:行者123 更新时间:2023-12-01 11:19:05 25 4
gpt4 key购买 nike

当我使用 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 执行相同的操作?

WebDriver driver = new RemoteWebDriver(
new URL("http://localhost:4444/wd/hub"),
myCapabilities);

功能中,我可以设置myCapability.setBrowserName(“htmlunit”)。我能做的就是这些吗?

编辑:

要明确的是,我需要三件事:
a) Selenium-server-standalone 能够重用相同的旧 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);
}

关于java - 如何在 Selenium RemoteWebDriver 中设置浏览器版本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31463361/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com