Кукольник запускает javascript в консоли сайта (devtools) - PullRequest
1 голос
/ 01 февраля 2020

Это очень важно, прошло 3 дня, и мне действительно нужно что-то закончить sh.
Я хочу запустить что-то в консоли devtools на сайте с кодом node.js, кто-нибудь может мне помочь? Я пытался использовать функцию обещания кукловода и eval, но я просто не могу сделать то, что я ищу.

Это мой код после запуска Chromium и открытия веб-сайта, который я хочу go до.

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)```

1 Ответ

1 голос
/ 02 февраля 2020

Вы можете добавить функцию с помощью 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)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...