本文目录导读:

浏览器扩展方式(最推荐)
Tampermonkey/Greasemonkey 用户脚本
// ==UserScript==
// @name 自动登录填写
// @namespace http://tampermonkey.net/
// @version 1.0
// @description 自动填写登录表单
// @author You
// @match https://example.com/login
// @grant none
// ==/UserScript==
(function() {
'use strict';
// 等待页面加载
window.addEventListener('load', function() {
// 填写用户名
const usernameField = document.querySelector('input[name="username"], input[name="email"], input[id*="username"], input[id*="email"]');
if (usernameField) {
usernameField.value = 'your_username';
// 触发输入事件
usernameField.dispatchEvent(new Event('input', { bubbles: true }));
}
// 填写密码
const passwordField = document.querySelector('input[type="password"]');
if (passwordField) {
passwordField.value = 'your_password';
passwordField.dispatchEvent(new Event('input', { bubbles: true }));
}
// 自动提交
setTimeout(() => {
const submitBtn = document.querySelector('button[type="submit"], input[type="submit"], button:contains("登录")');
if (submitBtn) submitBtn.click();
}, 500);
});
})();
Selenium 自动化脚本(Python)
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.common.exceptions import TimeoutException
import time
# 配置浏览器驱动
driver = webdriver.Chrome()
wait = WebDriverWait(driver, 10)
try:
# 打开登录页面
driver.get("https://example.com/login")
# 等待并填写用户名
username = wait.until(
EC.presence_of_element_located((By.CSS_SELECTOR, "input[name='username'], input[name='email']"))
)
username.clear()
username.send_keys("your_username")
# 填写密码
password = driver.find_element(By.CSS_SELECTOR, "input[type='password']")
password.clear()
password.send_keys("your_password")
# 点击登录按钮
submit_btn = driver.find_element(By.CSS_SELECTOR, "button[type='submit'], input[type='submit']")
submit_btn.click()
# 等待登录完成
time.sleep(3)
finally:
# 关闭浏览器
driver.quit()
Puppeteer (Node.js)
const puppeteer = require('puppeteer');
(async () => {
const browser = await puppeteer.launch({ headless: false });
const page = await browser.newPage();
await page.goto('https://example.com/login');
// 填写表单
await page.type('input[name="username"]', 'your_username', { delay: 100 });
await page.type('input[type="password"]', 'your_password', { delay: 100 });
// 点击登录
await page.click('button[type="submit"]');
// 等待页面跳转
await page.waitForNavigation();
await browser.close();
})();
常见表单选择器集合
// 通用选择器集合
const selectors = {
// 用户名/邮箱字段
username: [
'input[name="username"]',
'input[name="email"]',
'input[name="user"]',
'input[id*="username"]',
'input[id*="email"]',
'input[type="email"]',
'input[placeholder*="用户"]',
'input[placeholder*="邮箱"]'
],
// 密码字段
password: [
'input[type="password"]',
'input[name="password"]',
'input[id*="password"]',
'input[placeholder*="密码"]'
],
// 提交按钮
submit: [
'button[type="submit"]',
'input[type="submit"]',
'button:contains("登录")',
'button:contains("登陆")',
'button:contains("登入")',
'a:contains("登录")'
]
};
安全建议
安全注意事项:
1. 避免明文存储密码:
- 使用环境变量
- 加密存储
- 使用密码管理器API
2. 验证码处理:
- OCR识别 (Tesseract)
- 打码平台API
- 手动干预
3. 反检测措施:
- 随机延迟
- 模拟人类行为
- User-Agent轮换
4. 2FA认证:
- TOTP (Google Authenticator)
- 短信验证码自动读取
使用示例
# 安装依赖 pip install selenium webdriver-manager npm install puppeteer # 运行Python脚本 python auto_login.py # 运行Node.js脚本 node auto_login.js
选择哪种方法取决于你的具体需求:
- 浏览器扩展:适合个人自动化特定网站
- Selenium/Puppeteer:适合测试、数据采集等批量操作
- 直接使用密码管理器:更安全,如LastPass、1Password等
需要我针对特定网站或场景提供更详细的脚本吗?
版权声明:NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
足球直播
足球直播
足球直播
足球直播
足球直播
英超直播
英超直播
英超直播
英超直播
英超直播
篮球直播
篮球直播
篮球直播
篮球直播
篮球直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
中超直播
中超直播
中超直播
中超直播
中超直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
足球直播
足球直播
足球直播
足球直播
足球直播
英超直播
英超直播
英超直播
英超直播
英超直播
篮球直播
篮球直播
篮球直播
篮球直播
篮球直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
中超直播
中超直播
中超直播
中超直播
中超直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播