6.4 KiB
6.4 KiB
需求
使用playwright,typescript实现豆瓣自动登录功能。 登录完成后保存cookies,下次登录直接使用cookies自动登录。
信息
登录页面:https://accounts.douban.com/passport/login?source=main 登录账号:13357108011,要求可配置 cookies保存在~/cookies.json
登录页html
- 短信登录/注册
- 密码登录
- 二维码登录
扫码登录
短信登录/注册
扫描成功!
请在手机上确认登录
返回二维码登录
短信验证登录
实现
项目初始化
npm install
npx playwright install chromium
运行登录脚本
DOUBAN_PHONE=13357108011 npm run login
如需自动尝试滑块验证,可额外开启:
DOUBAN_PHONE=13357108011 \
DOUBAN_AUTO_SLIDER=1 \
npm run login
可选环境变量:
DOUBAN_SLIDER_DISTANCE:手动指定拖动距离(像素),若自动测算失败时使用;DOUBAN_SLIDER_OFFSETS:自定义距离微调列表(逗号分隔,默认根据是否自定义距离选择一组偏移进行多次尝试);DOUBAN_SLIDER_HANDLE_SELECTOR/DOUBAN_SLIDER_TRACK_SELECTOR:覆盖默认滑块、轨道选择器;DOUBAN_SLIDER_BG_SELECTOR/DOUBAN_SLIDER_PIECE_SELECTOR:覆盖滑块背景图、拼图块选择器;DOUBAN_SLIDER_TIMEOUT:等待滑块出现的超时时间(毫秒,默认 20000)。
行为说明
- 首次运行会在
~/cookies.json写入登录成功后的 Cookies;后续执行会优先复用该文件自动登录。 - 如果 cookies 过期或被服务端清理,脚本会自动回退到短信验证码登录流程,并更新 cookies。
- Playwright 以非无头模式运行,便于观察流程;开启自动滑块时脚本会尝试模拟拖动,失败则仍可手动完成。控制台会提示输入短信验证码。