You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Java版Selenium如何执行Chrome开发者工具控制台JS代码实现Discord登录

Java Selenium 实现Discord Token登录的操作步骤

实现原理

Java Selenium 内置JavascriptExecutor接口支持在浏览器上下文执行自定义JS代码,你只需要先导航到Discord站点,再传入你的账号token执行对应登录脚本即可。

完整代码示例

import org.openqa.selenium.JavascriptExecutor;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.support.ui.WebDriverWait;
import org.openqa.selenium.support.ui.ExpectedConditions;
import java.time.Duration;

public class DiscordTokenLogin {
    public static void main(String[] args) {
        // 初始化ChromeDriver
        WebDriver driver = new ChromeDriver();
        try {
            // 1. 导航到Discord登录页
            driver.get("https://discord.com/login");
            
            // 2. 等待页面完全加载
            WebDriverWait wait = new WebDriverWait(driver, Duration.ofSeconds(10));
            wait.until(ExpectedConditions.jsReturnsValue("return document.readyState === 'complete'"));
            
            // 3. 替换为你自己的Discord账号token
            String yourDiscordToken = "替换为你的实际token";
            
            // 4. 构造登录JS脚本
            String loginScript = """
            function login(token) {
                setInterval(() => {
                    document.body.appendChild(document.createElement `iframe`).contentWindow.localStorage.token = `"${token}"`
                }, 50);
                setTimeout(() => {
                    location.reload();
                }, 2500);
            }
            login(arguments[0]);
            """;
            
            // 5. 执行JS脚本
            JavascriptExecutor jsExecutor = (JavascriptExecutor) driver;
            jsExecutor.executeScript(loginScript, yourDiscordToken);
            
            // 6. 等待页面重载完成,之后即可操作已登录的账号
            Thread.sleep(3000);
            // 也可以用显式等待判断登录后的元素是否出现,稳定性更高
            // wait.until(ExpectedConditions.presenceOfElementLocated(By.cssSelector("[aria-label='用户设置']")));
            
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            // 按需决定是否关闭driver
            // driver.quit();
        }
    }
}

注意事项

  • 必须在Discord官方域名下执行JS脚本,否则localStorage的写入不会生效,无法完成登录
  • 用arguments[0]传入token可以自动处理字符串转义,避免手动拼接JS导致的引号冲突问题
  • Discord官方禁止非官方客户端/自动化账号操作,该方法存在账号封禁风险,请自行评估使用

内容的提问来源于stack exchange,提问作者Vinesh Rajpurohit

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 20:15:03