diff --git a/dependency-reduced-pom.xml b/dependency-reduced-pom.xml
new file mode 100644
index 0000000..d585656
--- /dev/null
+++ b/dependency-reduced-pom.xml
@@ -0,0 +1,53 @@
+
+
+ 4.0.0
+ com.example
+ crossref
+ 1.0-SNAPSHOT
+
+
+
+ maven-compiler-plugin
+ 3.11.0
+
+ 8
+ 8
+
+
+
+ maven-shade-plugin
+ 3.4.1
+
+
+ package
+
+ shade
+
+
+
+
+ com.seleniumLib.SeleniumLoginWithCookieRecorder
+
+
+
+
+ *:*
+
+ META-INF/*.SF
+ META-INF/*.DSA
+ META-INF/*.RSA
+
+
+
+
+
+
+
+
+
+
+ UTF-8
+ 8
+ 8
+
+
diff --git a/pom.xml b/pom.xml
new file mode 100644
index 0000000..582266f
--- /dev/null
+++ b/pom.xml
@@ -0,0 +1,109 @@
+
+
+ 4.0.0
+
+ com.example
+ crossref
+ 1.0-SNAPSHOT
+
+
+ 8
+ 8
+ UTF-8
+
+
+
+
+ org.slf4j
+ slf4j-nop
+ 1.7.36
+
+
+
+ org.seleniumhq.selenium
+ selenium-java
+ 4.11.0
+
+
+
+ com.alibaba
+ fastjson
+ 1.2.37
+
+
+
+ com.google.guava
+ guava
+ 31.1-jre
+
+
+
+
+ org.apache.httpcomponents
+ httpclient
+ 4.5.14
+
+
+
+
+ io.github.bonigarcia
+ webdrivermanager
+ 5.6.2
+
+
+
+
+ com.fasterxml.jackson.core
+ jackson-databind
+ 2.15.2
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+ 3.11.0
+
+ 8
+ 8
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-shade-plugin
+ 3.4.1
+
+
+ package
+
+ shade
+
+
+
+
+ com.seleniumLib.SeleniumLoginWithCookieRecorder
+
+
+
+
+ *:*
+
+ META-INF/*.SF
+ META-INF/*.DSA
+ META-INF/*.RSA
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/main/java/com/seleniumLib/SeleniumLoginWithCookieRecorder.java b/src/main/java/com/seleniumLib/SeleniumLoginWithCookieRecorder.java
new file mode 100644
index 0000000..7c38282
--- /dev/null
+++ b/src/main/java/com/seleniumLib/SeleniumLoginWithCookieRecorder.java
@@ -0,0 +1,712 @@
+package com.seleniumLib;
+
+import org.openqa.selenium.*;
+import org.openqa.selenium.chrome.ChromeDriver;
+import org.openqa.selenium.chrome.ChromeOptions;
+import org.openqa.selenium.support.ui.ExpectedConditions;
+import org.openqa.selenium.support.ui.WebDriverWait;
+import io.github.bonigarcia.wdm.WebDriverManager;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.databind.SerializationFeature;
+import com.google.gson.Gson;
+
+import java.io.BufferedWriter;
+import java.io.File;
+import java.io.FileWriter;
+import java.io.IOException;
+import java.net.URI;
+import java.time.Duration;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.HashMap;
+import java.text.SimpleDateFormat;
+
+import org.apache.http.client.methods.CloseableHttpResponse;
+import org.apache.http.client.methods.HttpPost;
+import org.apache.http.entity.StringEntity;
+import org.apache.http.impl.client.CloseableHttpClient;
+import org.apache.http.impl.client.HttpClients;
+import org.apache.http.util.EntityUtils;
+import com.google.gson.JsonObject;
+import com.google.gson.JsonArray;
+import com.google.gson.JsonParser;
+
+/**
+ * Selenium 模拟登录并获取 Cookie 的示例
+ * 支持多种登录方式:表单登录、OAuth、AJAX 登录等
+ */
+public class SeleniumLoginWithCookieRecorder {
+
+ private WebDriver driver;
+ private WebDriverWait wait;
+ private String cookiesSavePath = "cookies.json";
+ private ObjectMapper objectMapper = new ObjectMapper().enable(SerializationFeature.INDENT_OUTPUT);
+ private static final String API_URL = "https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions";
+ private static final String API_KEY = "sk-e5c86737c99a4c9da5efe3519ca2b539";
+ private static final Gson gson = new Gson();
+
+ /**
+ * 识别验证码
+ */
+ public String recognizeCaptcha(String base64Img) {
+ try (CloseableHttpClient httpClient = HttpClients.createDefault()) {
+ // 构建请求
+ HttpPost httpPost = new HttpPost(API_URL);
+
+ // 设置 headers
+ httpPost.setHeader("Authorization", "Bearer " + API_KEY);
+ httpPost.setHeader("Content-Type", "application/json");
+ httpPost.setHeader("Accept", "application/json");
+
+ // 构建请求体
+ Map params = new HashMap<>();
+ params.put("model", "qwen3-vl-plus");
+ params.put("temperature", 0.3);
+
+ // 构建 messages 数组
+ List