![](/img/trans.png)
[英]Unable to launch Chrome Browser in Selenium Remote WebDriver
[英]Why Selenium webdriver is not maximize chrome on remote machine?
當我在我的本地機器上運行測試時,它正在工作,但遠程機器沒有最大化 chrome。 由於此驅動程序無法找到屏幕上的元素,因此所有測試均失敗。 我已經嘗試了所有推薦的解決方案。 這是我的代碼。
公共 class BrowserFactory 擴展 BaseTest {
public WebDriver prepareDriver() {
WebDriver driver;
if (getAveaConfiguration().isRemote().booleanValue()) {
driver = getRemoteDriver();
//driver.manage().window().maximize();
Dimension d = new Dimension(1936,1056);
driver.manage().window().setSize(d);
System.out.println("PageSize:" + driver.manage().window().getSize());
} else {
driver = getLocalDriver();
driver.manage().window().maximize();
System.out.println(driver.manage().window().getSize());
}
return driver;
}
private WebDriver getRemoteDriver() {
WebDriver webDriver;
DesiredCapabilities cap = getRemoteCapabilities();
try {
System.out.println(getAveaConfiguration().getGridURL());
webDriver = new RemoteWebDriver(new URL(getAveaConfiguration().getGridURL()), cap);
((RemoteWebDriver) webDriver).setFileDetector(new LocalFileDetector());
} catch (MalformedURLException mue) {
throw new TestException(mue);
}
return webDriver;
}
private DesiredCapabilities getRemoteCapabilities() {
DesiredCapabilities capabilities;
if ("firefox".equals(getAveaConfiguration().getBrowser())) {
capabilities = DesiredCapabilities.firefox();
FirefoxProfile profile = new FirefoxProfile();
profile.setAcceptUntrustedCertificates(true);
profile.setAssumeUntrustedCertificateIssuer(false);
profile.setPreference("browser.privatebrowsing.autostart", true);
profile.setPreference("network.proxy.type", 0);
capabilities.setCapability(FirefoxDriver.PROFILE, profile);
return capabilities;
} else if ("ie".equals(getAveaConfiguration().getBrowser())) {
return DesiredCapabilities.internetExplorer();
} else {
capabilities = DesiredCapabilities.chrome();
ChromeOptions options = new ChromeOptions();
Map<String, Object> prefs = new HashMap<>();
prefs.put("credentials_enable_service", false);
prefs.put("profile.password_manager_enabled", false);
options.setExperimentalOption("prefs", prefs);
options.addArguments("enable-automation");
options.addArguments("--headless");
options.addArguments("--window-size=1920,1080");
options.addArguments("--no-sandbox");
options.addArguments("--disable-extensions");
options.addArguments("--dns-prefetch-disable");
options.addArguments("--disable-infobars");
options.addArguments("--disable-dev-shm-usage");
options.addArguments("--disable-browser-side-navigation");
options.addArguments("enable-features=NetworkServiceInProcess");
options.addArguments("--disable-gpu");
capabilities.setCapability(ChromeOptions.CAPABILITY, options);
return capabilities;
}
}
private WebDriver getLocalDriver() {
switch (getAveaConfiguration().getBrowser()) {
case "chrome":
return new ChromeDriver();
// case "ie": // return new Inte.netExplorerDriver(getCapabilitiesForIe()); 默認值:返回新的 ChromeDriver(); } }
我解決了我的問題,但忘記關閉我的問題。 問題是有人將 google chrome 文件移動到另一條路徑。 重新安裝 chrome,問題解決。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.