我是浏览器堆栈的新手,试图在浏览器堆栈上以私有模式执行edge。我正试图用下面的代码,但它在正常模式下启动。
caps.setCapability("os_version", osVersion);
caps.setCapability("os", os);
caps.setCapability("resolution", "1920x1080");
caps.setCapability("browser", browser);
caps.setCapability("browser_version", browserVersion);
if(isPrivate && browser.equalsIgnoreCase("chrome")) {
ChromeOptions chromeOptions = new ChromeOptions();
chromeOptions.addArguments("incognito");
caps.setCapability(ChromeOptions.CAPABILITY, chromeOptions);
}
else if(isPrivate && browser.equalsIgnoreCase("edge")) {
EdgeOptions edgeOptions = new EdgeOptions();
edgeOptions.setCapability("InPrivate",true);
caps.merge(DesiredCapabilities.edge().merge(edgeOptions));
}
我正在使用以下pom版本,不幸的是目前无法升级:
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>3.141.59</version>
</dependency>
对于任何寻找解决方案的人。我通过添加
来实现这一点<dependency>
<groupId>com.microsoft.edge</groupId>
<artifactId>msedge-selenium-tools-java</artifactId>
<version>3.141.1</version>
</dependency>
和
import com.microsoft.edge.seleniumtools.EdgeOptions;
EdgeOptions edgeOptions = new EdgeOptions();
edgeOptions.addArguments("inprivate");
我建议安装Selenium Tools for Microsoft Edge因为您使用的是Selenium 3.141.59。你可以按照下面的说明去做:https://github.com/microsoft/edge-selenium-tools java
要启用inprivate模式,您可以尝试以下示例代码:
edgeOptions.addArguments("-inprivate")