Node.js用Puppeteer写RapidWorkers脚本报错找不到./get-username模块
错误原因
你代码中引入的三个本地依赖模块./get-username、./get-password、./api-key不存在于你当前项目的根目录下。原教程作者为了避免敏感信息(账号、密码、第三方打码服务密钥)硬编码在主逻辑代码中,将这三类信息单独封装成了独立模块,你没有手动创建这三个文件就会触发模块找不到的报错。
解决方法
方案1:直接修改主代码(适合临时测试)
将代码中以下三行引入逻辑直接替换为你自己的实际信息:
// 替换前 const getUsername = require('./get-username'); const getPassword = require('./get-password'); const apiKey = require('./api-key'); // 替换后 const getUsername = () => "你自己的RapidWorkers平台登录账号"; const getPassword = () => "你自己的RapidWorkers平台登录密码"; const apiKey = "你自己的2captcha服务API密钥";
注:2captcha是第三方付费验证码识别服务,你需要自行注册账号获取对应API密钥才可使用该绕过逻辑。
方案2:按原教程逻辑创建对应模块文件
在你的index.js同级目录下新建三个文件:
- 新建
get-username.js,内容如下:
module.exports = () => '你的RapidWorkers登录账号'
- 新建
get-password.js,内容如下:
module.exports = () => '你的RapidWorkers登录密码'
- 新建
api-key.js,内容如下:
module.exports = '你的2captcha服务API密钥'
其他注意事项
- 代码中
chromeOptions里的executablePath是Mac系统下Chrome的默认安装路径,如果你是Windows/Linux系统,需要替换为你本地Chrome的实际安装路径,也可以直接删除这一行配置,Puppeteer会自动调用自带的Chromium运行。 - 代码里的
page.click('#register-form button[type=submit]')前需要加上await,否则可能出现点击还未执行脚本就提前退出的问题。 - 你使用的
request-promise-native库已经停止维护,若安装依赖时报错可以替换为axios或node-fetch等主流请求库。
内容的提问来源于stack exchange,提问作者shange
相关产品推荐
相关产品推荐

