自动网站登录打开 Chrome

Sco*_*hus 3 javascript google-chrome-extension

有没有办法在 Chrome 打开后立即从 Chrome 扩展程序中打开一个选项卡?我的学校有一个接入点,每次打开计算机使用互联网时都必须登录,我想做一个自动登录的扩展程序,但我不知道如何运行脚本只要我打开 Chrome。

编辑:登录页面不是我打开浏览器时打开的页面:我必须手动转到某个站点才能让系统提示我登录,否则它只会告诉我我没有连接到互联网。

Mar*_*lli 6

准备

您需要在这里做的是:

  1. 使用所需manifest.json文件创建一个基本的“空”扩展名。
  2. 使用API声明"background"字段,该字段将运行backgrond.js脚本以在打开 Chrome 时打开登录页面。然后您需要为此添加权限。chrome.tabs
  3. 在清单中声明该"content_scripts"字段,并设置一个contnet.js脚本以匹配打开并允许您登录的登录 URL。
  4. content.js将在创建的选项卡中执行的脚本 ( ) 将包含自动使用用户名和密码填充字段并单击登录按钮的代码。

执行

  1. 创建一个基本扩展,它将包含三个文件:

    • manifest.json: 扩展的清单
    • background.js: 扩展的后台脚本
    • content.js:你的内容脚本
  2. 在清单中写入基本字段,例如:版本、名称、背景等。然后添加"content_scripts"字段以声明您的脚本。你manifest.json应该看起来像这样:

    {
        "manifest_version": 2,
    
        "name": "Some name",
        "version": "0",
    
        "permissions": [
            "tabs"
        ],
    
        "background": {
            "scripts": ["background.js"]
        },
    
        "content_scripts": {
            {
                "matches": ["http://your-login-page-url..."],
                "js": "/content.js"
            }
        }
    }
    
    Run Code Online (Sandbox Code Playgroud)
  3. 在您的background.js脚本中,您将在扩展程序启动时(这也是 Chrome 打开时)打开一个选项卡,如下所示:

    chrome.tabs.create({url: "http://your-login-page-url..."});
    // this URL ---------------^^ should be the same as the one that matches the content script in the manifest.json
    
    Run Code Online (Sandbox Code Playgroud)

    使用真实的 URL 更改 URL 并检查打开的选项卡是否正确。

  4. 现在,在您的content.js脚本中,该脚本将加载到刚刚创建的选项卡中,您将获得正确的字段并填写它们,然后单击登录按钮。

    例如,如果登录页面如下所示:

    {
        "manifest_version": 2,
    
        "name": "Some name",
        "version": "0",
    
        "permissions": [
            "tabs"
        ],
    
        "background": {
            "scripts": ["background.js"]
        },
    
        "content_scripts": {
            {
                "matches": ["http://your-login-page-url..."],
                "js": "/content.js"
            }
        }
    }
    
    Run Code Online (Sandbox Code Playgroud)

    然后在您的content.js脚本中,您将执行以下操作:

    document.getElementById('username').value = 'yourusername';
    document.getElementById('password').value = 'yourpassword';
    document.getElementById('login-btn').click();
    
    Run Code Online (Sandbox Code Playgroud)

    显然,您必须用真实凭据替换yourusernameyourpassowrd

这就是全部,非常简单:只需创建一个选项卡并在其中注入一个内容脚本。现在,当您打开 Chrome 时,此扩展程序将立即为您登录!