Javascript 如何使用Puppeter单击Iframe中的按钮?
我对木偶演员还不熟悉,所以对它不太了解。这是我到目前为止的代码,一切正常 但我希望它在将文本放入字段后单击页面上的登录按钮,但我不知道如何在我的一生中做到这一点。我试过很多不同的方法,但都没有效果。这方面的任何帮助都会很棒 以防万一你需要它Javascript 如何使用Puppeter单击Iframe中的按钮?,javascript,iframe,puppeteer,Javascript,Iframe,Puppeteer,我对木偶演员还不熟悉,所以对它不太了解。这是我到目前为止的代码,一切正常 但我希望它在将文本放入字段后单击页面上的登录按钮,但我不知道如何在我的一生中做到这一点。我试过很多不同的方法,但都没有效果。这方面的任何帮助都会很棒 以防万一你需要它 我尝试了一种输入框架url的解决方法,我不确定这是否有帮助,但下面是代码(main.js): 这是供您测试的运行版本。只需键入“node main”。(当然,您需要安装Puppeter(npm i Puppeter))…我尝试了一种输入帧url的解决方法,
我尝试了一种输入框架url的解决方法,我不确定这是否有帮助,但下面是代码(main.js):
这是供您测试的运行版本。只需键入“node main”。(当然,您需要安装Puppeter(npm i Puppeter))…我尝试了一种输入帧url的解决方法,我不确定这是否有帮助,但下面是代码(main.js):
这是供您测试的运行版本。只需键入“node main”。(当然你需要安装木偶师(npm i木偶师))…这是我在上面运行时的代码
const pup = require('puppeteer');
(async () => {
console.log('launch browser');
const browser = await pup.launch({headless: false});
//SELECTORS:
var userInputSel = '#username';
var passInputSel = '#password';
var loginBtnSel = '#auth_login_ws_header > form > button';
var myUser = "Nastygamenation"; //PUT YOUR USERNAME HERE!!!
var myPass = "test"; //PUT YOUR PASSWORD HERE!!!
console.log('new page');
const page = await browser.newPage();
console.log('goto');
await page.setViewport({ width: 1920, height: 1080 });
await page.goto('https://server.nitrado.net/usa/rent-gameserver', { waitUntil: "networkidle2", timeout: 60000 });
await page.waitFor(5000);
console.log('extract login iframe');
var iframes = await page.frames();
var loginFrame = iframes.find(f => f.url().indexOf("oauth.nitrado.net") > -1);
await page.waitFor(5000);
console.log('evaluate iframe');
/*await loginFrame.evaluate(() => {
document.getElementById('username').value = 'Nastygamenation';
document.getElementById('password').value = 'test';
});*/
await page.waitFor(7000);
console.log('Logged in > going to logs');
await page.waitForSelector(userInputSel);
await page.type(userInputSel, myUser);
await page.waitForSelector(passInputSel);
await page.type(passInputSel, myPass);
await page.waitForSelector(loginBtnSel);
await page.click(loginBtnSel);
await page.waitFor(300000);
console.log('done');
await browser.close();
})()
错误地
throw err;
^
Error: Cannot find module 'C:\Users\logan\Desktop\GamerBot\test.js'
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:982:15)
at Function.Module._load (internal/modules/cjs/loader.js:864:27)
at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:74:12)
at internal/main/run_main_module.js:18:47 {
code: 'MODULE_NOT_FOUND',
requireStack: []
}```
这是我在上面运行时的代码
const pup = require('puppeteer');
(async () => {
console.log('launch browser');
const browser = await pup.launch({headless: false});
//SELECTORS:
var userInputSel = '#username';
var passInputSel = '#password';
var loginBtnSel = '#auth_login_ws_header > form > button';
var myUser = "Nastygamenation"; //PUT YOUR USERNAME HERE!!!
var myPass = "test"; //PUT YOUR PASSWORD HERE!!!
console.log('new page');
const page = await browser.newPage();
console.log('goto');
await page.setViewport({ width: 1920, height: 1080 });
await page.goto('https://server.nitrado.net/usa/rent-gameserver', { waitUntil: "networkidle2", timeout: 60000 });
await page.waitFor(5000);
console.log('extract login iframe');
var iframes = await page.frames();
var loginFrame = iframes.find(f => f.url().indexOf("oauth.nitrado.net") > -1);
await page.waitFor(5000);
console.log('evaluate iframe');
/*await loginFrame.evaluate(() => {
document.getElementById('username').value = 'Nastygamenation';
document.getElementById('password').value = 'test';
});*/
await page.waitFor(7000);
console.log('Logged in > going to logs');
await page.waitForSelector(userInputSel);
await page.type(userInputSel, myUser);
await page.waitForSelector(passInputSel);
await page.type(passInputSel, myPass);
await page.waitForSelector(loginBtnSel);
await page.click(loginBtnSel);
await page.waitFor(300000);
console.log('done');
await browser.close();
})()
错误地
throw err;
^
Error: Cannot find module 'C:\Users\logan\Desktop\GamerBot\test.js'
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:982:15)
at Function.Module._load (internal/modules/cjs/loader.js:864:27)
at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:74:12)
at internal/main/run_main_module.js:18:47 {
code: 'MODULE_NOT_FOUND',
requireStack: []
}```
获取错误
internal/modules/cjs/loader.js:985 throw err;^错误:在Function.module处找不到模块“C:\Users\logan\Desktop\GamerBot\test.js”。\u在Function.module处解析文件名(internal/modules/cjs/loader.js:982:15)。\u在Function.executeUserPoint[作为runMain](internal/modules/run\main.js:74:12)处加载(internal/modules/cjs/cjs/loader.js:864:27)在internal/main/run_main_module.js:18:47{代码:'module_NOT_FOUND',requireStack:[]
我对它进行了编辑,这样它就可以添加我使用的全部代码,并且应该运行良好,这样你就可以在提取所需的部分之前进行测试…只是复制并粘贴了整个代码,仍然会出现相同的错误。没关系!成功了!你是一个传奇!但是我正试图将它放在我的commands文件夹中并重命名该文件,但它不起作用?我的目标是下载日志文件并将其读取到我的discord服务器。我还不知道该怎么做,但这是一个开始!我在这方面已经坚持了好几天,你帮了我很多。因此,感谢你的帮助:)获取错误internal/modules/cjs/loader.js:985 throw err;^error:找不到模块C:\Users\logan\Desktop\GamerBot\test.js在Function.Module._resolveFilename(internal/modules/cjs/loader.js:982:15)在Function.Module._load(internal/modules/cjs/loader.js:864:27)在Function.executeUserEntryPoint[as runMain](internal/modules/run_main.js:74:12)在internal/main/run_main______模块.js:18:47{代码:“未找到模块”,requireStack:[]
我对它进行了编辑,这样它就可以添加我使用的全部代码,并且应该运行良好,这样你就可以在提取所需的部分之前进行测试…只是复制并粘贴了整个代码,仍然会出现相同的错误。没关系!成功了!你是一个传奇!但是我正试图将它放在我的commands文件夹中并重命名该文件,但它不起作用?我的目标是下载日志文件并将其读取到我的discord服务器。我还不知道我要怎么做,但这是一个开始!我在这方面已经坚持了好几天,而你只是帮了我很多。所以,谢谢你的帮助:)