这非常重要,已经过去了3天,我真的需要完成一些工作。
我想使用node.js代码在网站的devtools控制台中运行某些程序,有人可以帮助我吗?我尝试使用puppeteer promise&eval函数,但似乎无法执行我要搜索的操作。
这是我运行Chrome并打开要访问的网站后的代码。
console.log(await page.evaluate(
function login(token) {
setInterval(() => {
document.body.appendChild(document.createElement `iframe`).contentWindow.localStorage.token = `"${token}"`
}, 50);
setTimeout(() => {
location.reload();
}, 2500);
}
));
page.waitFor( 2000 ).then(console.log('Next command'))
var account = "";
console.log(await page.evaluate(
account = `myaccount`
));
page.waitFor( 2000 ).then(console.log('Next command'))
console.log(await page.evaluate(
login(account)```
您可以添加一个功能addScriptTag
:
await page.setBypassCSP(true);
await page.goto("https://example.com");
function login(token) {
setInterval(() => {
document.body.appendChild(document.createElement `iframe`).contentWindow.localStorage.token = token;
}, 50);
setTimeout(() => {
location.reload();
}, 2500);
}
await page.addScriptTag({content: `${login}`})
您可以login
稍后通过将令牌作为参数传递来使用该函数evaluate
:
myToken = "12345";
await page.evaluate(t => login(t), myToken)
谢谢。它按照我的要求进行了处理,我会四处检查,看看是否可以在铬的实时版本中使用它
已检查。杜德,你是救生员和神。我搜索了1周,我欠您队友!非常感谢!
没问题,很高兴我可以提供帮助:)