I want to automate a website. I've started to automate a page but when I have to approve with metamask, I can't. I'm using puppeteer and I've seen a repo: dappeteer But it doesn't work for me
Do I have to use this repo to do what I want? Or do you have a better solution?
Some details about the error I have on dappeteer
To Reproduce
Try this code for reproduce
import dotenv from 'dotenv'
dotenv.config()
import dappeteer from '@chainsafe/dappeteer';
console.log('dappeteer: ', dappeteer)
function sleep(ms) {
return new Promise(resolve => setTimeout(resolve, ms));
}
async function main() {
let browser;
let metamask;
browser = await dappeteer.launch({
headless: false,
metaMaskVersion: "v11.0.0",
defaultViewport: null,
automation: "puppeteer",
})
metamask = await dappeteer.setupMetaMask(browser, {
seed: process.env.SEED,
password: process.env.PASSWORD
})
}
main();
Logs
/home/lucrypto/Documents/code/scroll-automate/node_modules/@chainsafe/dappeteer/dist/puppeteer/page.js:73
return new elements_1.DPuppeteerElementHandle((await this.page.waitForXPath(xpath, opts)));
^
TypeError: this.page.waitForXPath is not a function
at DPupeteerPage.waitForXPath (/home/lucrypto/Documents/code/scroll-automate/node_modules/@chainsafe/dappeteer/dist/puppeteer/page.js:73:72)
at getElementByContent (/home/lucrypto/Documents/code/scroll-automate/node_modules/@chainsafe/dappeteer/dist/helpers/selectors.js:5:71)
at clickOnElement (/home/lucrypto/Documents/code/scroll-automate/node_modules/@chainsafe/dappeteer/dist/helpers/actions.js:51:45)
at importAccount (/home/lucrypto/Documents/code/scroll-automate/node_modules/@chainsafe/dappeteer/dist/setup/setupActions.js:41:40)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async Object.setupMetaMask (/home/lucrypto/Documents/code/scroll-automate/node_modules/@chainsafe/dappeteer/dist/setup/setupMetaMask.js:33:9)
at async file:///home/lucrypto/Documents/code/scroll-automate/src/index.js:25:18
Expected behavior
I want to automate metamask, and for that i would like to use this repo But if you have a better solution, im clearly open for any suggestion !
System:
- OS: Ubuntu
- OS version Ubuntu 20.04.6 LTS
- NodeJs version : v20.10.0
- dappeteer version 5.2.1
- puppeteer version 22.0.0
Thanks in advance for your help !