QQBot/src/main/java/com/yutou/qqbot/utlis/WebClient.java

74 lines
2.1 KiB
Java
Raw Normal View History

package com.yutou.qqbot.utlis;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.yutou.qqbot.models.Animal.TurnipProphet;
import org.openqa.selenium.*;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.chrome.ChromeOptions;
import java.io.File;
import java.util.*;
import java.util.concurrent.TimeUnit;
public class WebClient {
private static WebClient client;
public static WebClient getInstance() {
if (client == null) {
client = new WebClient();
}
return client;
}
public WebDriver getWebDriver() {
return new ChromeDriver(getOptions());
}
private WebClient() {
System.setProperty("webdriver.chrome.driver",
ConfigTools.load(ConfigTools.CONFIG, "chrome", String.class));
// java.util.logging.Logger.getLogger("org.openqa.selenium").setLevel(Level.OFF);
}
public static List<Cookie> loadCookie(JSONArray array) {
List<Cookie> list = new ArrayList<>();
for (Object o : array) {
JSONObject json = (JSONObject) o;
boolean containsDate = json.containsKey("expirationDate");
long t = 0;
if (containsDate) {
t = Long.parseLong(json.getString("expirationDate").replace(".", "")) / 1000;
}
Cookie cookie = new Cookie(json.getString("name"),
json.getString("value"),
json.getString("domain"),
json.getString("path"),
containsDate ? new Date(t) : new Date(),
json.getBoolean("secure"),
json.getBoolean("httpOnly")
);
list.add(cookie);
}
return list;
}
public static ChromeOptions getOptions() {
ChromeOptions options = new ChromeOptions();
options.addArguments("--disable-gpu");
// options.addArguments("blink-settings=imagesEnabled=false");
options.addArguments("--headless");
options.addArguments("--no-sandbox");
return options;
}
public static void main(String[] args) {
}
}