我想ChromeDriverService
与xvfb chromeOptions
一起DesiredCapabilities
运行。
以下是ChromeDriverService
我以前不使用硒网格的部分代码。
String NodeChromeIncognito = "http://localhost:5558/wd/hub"
ChromeDriverService chromeDriverService = new ChromeDriverService.Builder()
.usingDriverExecutable(new File("driver_linux/chromedriver"))
.usingAnyFreePort()
.withEnvironment(ImmutableMap.of("DISPLAY", ":1")).build();
chromeDriverService.start();
// commented because using RemoteWebDriver
// driver = new ChromeDriver(chromeDriverService);
下面是我将与合并的RemoteWebDriver的部分代码ChromeDriverService
。
DesiredCapabilities cap = null;
String NodeChromeIncognito = "http://localhost:5558/wd/hub";
String NodeChrome = "http://localhost:5557/wd/hub";
String NodeFirefox = "http://localhost:5556/wd/hub";
if (browserName.equals("chrome")) {
cap = DesiredCapabilities.chrome();
cap.setBrowserName("chrome");
driver = new RemoteWebDriver(new URL(NodeChrome), cap);
} else if (browserName.equals("firefox")) {
System.setProperty("webdriver.gecko.driver", "driver_linux/geckodriver");
cap = DesiredCapabilities.firefox();
cap.setCapability("marionette", true);
driver = new RemoteWebDriver(new URL(NodeFirefox), cap);
}else if (browserName.equals("chromeIncognito")) {
ChromeOptions option = new ChromeOptions();
option.addArguments("--incognito");
cap = DesiredCapabilities.chrome();
cap.setCapability(ChromeOptions.CAPABILITY, option);
cap.setPlatform(Platform.WIN10);
cap.setBrowserName("chrome incognito");
driver = new RemoteWebDriver(new URL(NodeChromeIncognito), cap);
}
我知道我可以使用addArguments("-- headless")
chrome,但是它不能与我的webApp一起很好地工作。而且我也用过DesiredCapabilities.merge
和错误。
如何ChromeDriverService
使用ChromeOptions
或合并代码/配置DesiredCapabilites
?
至于你提到要合并 ChromeDriverService
* 使用 ChromeOptions
或者与
DesiredCapabilities
两者都可以实现。但从当前 Selenium Java Client
版本开始,
不推荐使用 以下 构造 方法:
*
ChromeDriver(Capabilities capabilities)
//and
ChromeDriver(ChromeDriverService service, Capabilities capabilities)
因此,我们必须使用以下任一选项:
ChromeOptions
: private static ChromeDriverService service;
private WebDriver driver;
//code block
service = new ChromeDriverService.Builder()
.usingDriverExecutable(new File("path/to/my/chromedriver.exe"))
.usingAnyFreePort()
.build();
chromeDriverService.start();
ChromeOptions option = new ChromeOptions();
option.addArguments("--incognito");
driver = new RemoteWebDriver(service.getUrl(), options);
DesiredCapabilities
,然后使用merge()
from MutableCapabilities
合并到ChromeOptions
: private static ChromeDriverService service;
private WebDriver driver;
//code block
service = new ChromeDriverService.Builder()
.usingDriverExecutable(new File("path/to/my/chromedriver.exe"))
.usingAnyFreePort()
.build();
chromeDriverService.start();
DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setCapability("...", true);
ChromeOptions option = new ChromeOptions();
option.addArguments("--incognito");
option.merge(capabilities);
driver = new RemoteWebDriver(service.getUrl(), options);
问题内容: 我正在尝试使用webdriver尝试phantomJS,但在处理JavaScript警报时遇到了麻烦。我注意到phantomjs驱动程序desired_capabilities有一个字段。 有没有办法将此值设置为true?我已经尝试了明显的方法,但是没有任何效果: 我可以更改字典中的值,但是当我尝试切换到警报时,会收到错误消息。 问题答案: API指定了将所需功能传递给构造函数。但是,
问题内容: 我在将Chrome驱动程序用于Selenium时遇到问题。我已下载chromedriver,并将其保存到C:\ Chrome: 使用它给我以下错误: 任何帮助,将不胜感激。 问题答案: 您应该指定可执行文件路径,而不是包含可执行文件的目录路径。
问题内容: 到目前为止,据我了解,Chrome驱动程序始终在没有任何存储的浏览器cookie的情况下启动。 我需要驱动程序从Chrome存储的所有cookie开始。 我想知道是否有任何方法可以使用已存储的cookie启动驱动程序?我在.net 4.5中使用C#。 问题答案: 是的,我们可以像调用Firefox配置文件一样通过调用保存的Chrome配置文件来做到这一点。以下是我之前做的一些步骤 在J
我想在Mongo 3.2中执行聚合,如下所述,但在Java中: https://docs.mongodb.org/master/reference/operator/aggregation/lookup/#pipe._S_lookup 目前,我的java查询对象非常简单: 除了按employeId进行筛选外,我还想加入公司的此集合(其中employee.company\u id=company.i
问题内容: 我正在尝试运行一个ruby文件,该文件将使用seleniumwebdriver启动chrome驱动程序。我有selenium独立服务器2.35.0。和chromedriver可执行文件已安装。我正在通过运行服务器来启动 两个会话正在启动,chrome驱动程序无法启动。 这是在我使用以下文件运行文件之后 我对此并不陌生,无法找出问题所在。而且,我也试图让它无头运行,所以我正在运行Xvfb
我试图运行一个ruby文件,这将启动chrome驱动程序使用selenium WebDriver。我有selenium独立服务器2.35.0。和chromedriver可执行文件安装。我通过运行来启动服务器, 这是在我使用 我对此很陌生,不知道哪里出了问题。我也试图无头运行它,所以我有Xvfb运行。有人能帮我指出我犯的错误并启动chromedriver吗? 更新: 谁能帮我弄清楚出了什么问题吗?