/*
* https://webfolder.io/license.html
*/
package io.webfolder.cdp.sample;
import static io.webfolder.cdp.JsonLibrary.Jackson;
import static io.webfolder.cdp.chromium.ChromiumChannel.stable;
import static io.webfolder.cdp.logger.CdpLoggerType.Console;
import static java.util.EnumSet.of;
import java.nio.file.Path;
import io.webfolder.cdp.Example;
import io.webfolder.cdp.Launcher;
import io.webfolder.cdp.Options;
import io.webfolder.cdp.chromium.Chromium;
import io.webfolder.cdp.chromium.ChromiumOptions;
import io.webfolder.cdp.chromium.ChromiumVersion;
import io.webfolder.cdp.session.Session;
import io.webfolder.cdp.session.SessionFactory;
@Example
public class ChromiumDownloader {
public static void main(String[] args) {
ChromiumOptions options = ChromiumOptions
.builder()
.jsonLibrary(Jackson)
.loggerType(Console)
.build();
Chromium chromium = new Chromium(options);
final long daysAgo = 30;
// download the chromium stable version if it's released before 10 days ago
ChromiumVersion version = chromium.download(stable, daysAgo);
// delete the stable version if it's released before 15 days ago
chromium.deleteOldVersions(of(stable), daysAgo + 5);
Path executablePath = chromium.getExecutablePath(version);
Launcher launcher = new Launcher(
Options.builder()
.browserExecutablePath(executablePath.toString())
.build()
);
try (SessionFactory factory = launcher.launch();
Session session = factory.create()) {
session.navigate("https://yahoo.com");
session.waitDocumentReady();
} finally {
launcher.kill();
}
}
}