下面列出了怎么用org.openqa.selenium.edge.EdgeDriverService的API类实例代码及写法,或者点击链接到github查看源代码。
private static URL getServiceUrl(Capabilities capabilities) {
try {
if (service == null) {
Path logFile = Files.createTempFile("edgedriver", ".log");
EdgeDriverService.Builder builder = new EdgeDriverService.Builder();
service = builder.withVerbose(true).withLogFile(logFile.toFile()).build();
LOG.info("edgedriver will log to " + logFile);
service.start();
Runtime.getRuntime().addShutdownHook(new Thread(() -> service.stop()));
}
return service.getUrl();
} catch (IOException e) {
throw new RuntimeException(e);
}
}
@Override
public DriverService createService(int port) {
EdgeDriverService.Builder builder = new EdgeDriverService.Builder();
BrowserConfig config = BrowserConfig.instance();
String wdPath = config.getValue(BROWSER, "webdriver-exe-path");
if (wdPath != null)
builder.usingDriverExecutable(new File(wdPath));
String environ = config.getValue(BROWSER, "browser-environment");
if (environ != null) {
Map<String, String> envMap = new HashMap<>();
BufferedReader reader = new BufferedReader(new StringReader(environ));
String line = null;
try {
while ((line = reader.readLine()) != null) {
String[] parts = line.split("=");
if (parts != null && parts.length == 2) {
envMap.put(parts[0], parts[1]);
}
}
} catch (IOException e) {
}
builder.withEnvironment(envMap);
}
String logFile = config.getValue(BROWSER, "webdriver-log-file-path");
if (logFile != null) {
builder.withLogFile(new File(logFile));
}
return builder.usingPort(port).build();
}
public Browser createBrowser() {
EdgeDriverService service = EdgeDriverService.createDefaultService();
DesiredCapabilities capabilities = getDefaultCapabilities();
return createBrowser(new EdgeDriver(service, capabilities));
}
public EdgeDriver(EdgeOptions options) {
this(new EdgeDriverService.Builder().build(), options);
}
public EdgeDriver(EdgeDriverService service) {
this(service, new EdgeOptions());
}
public EdgeDriver(EdgeDriverService service, EdgeOptions options) {
super(new ChromiumDriverCommandExecutor("ms", service), Require.nonNull("Driver options", options), EdgeOptions.CAPABILITY);
}
@Deprecated
public EdgeDriver(Capabilities capabilities) {
this(new EdgeDriverService.Builder().build(), new EdgeOptions().merge(capabilities));
}