带有增量的更新Javascript问题
因此,我在另一位用户的帮助下解决了上一个问题,但我在代码方面遇到的另一个问题是:带有增量的更新Javascript问题,javascript,json,database,puppeteer,user-registration,Javascript,Json,Database,Puppeteer,User Registration,因此,我在另一位用户的帮助下解决了上一个问题,但我在代码方面遇到的另一个问题是: const faker = require('faker'); const userList = require('./users.json') var jsonfile = require('jsonfile'); var obj={ 'table':[] }; for (i=0; i <10 ; i++){ let username = faker.internet.userName
const faker = require('faker');
const userList = require('./users.json')
var jsonfile = require('jsonfile');
var obj={
'table':[]
};
for (i=0; i <10 ; i++){
let username = faker.internet.userName();
let password = faker.internet.password();
obj.table.push({"id":i,name:username,pass: password});
}
jsonfile.writeFile('users.json', obj, {spaces:2}, function(err){
console.log(err);
});
console.log(userList.table);
这可以很好地打印出密码,但我的下一步是,我想使用数据,我将使用.type(然后是user+pass)来完成。一旦它自动键入了这些数据,我需要使用什么来自动转到下一行,以便[1],或者删除更容易删除它,然后将其放入新的JSON文件中
我用这个来测试注册一个网站
非常感谢 我这里的主要问题是,为什么要依赖JSON文件,或者是否可以使用现有变量简单地实现 如果从这一点继续,您可以在表数组上循环并获取每个用户数据集作为输入
const登录={
表:[]
};
userList.table.forEach(异步(用户)=>{
const userName=user.name;
const passWord=user.pass;
//猜猜你是如何加载页面的
等待loadPageAndWaitOnSelector();
userSelector.type(用户名);
passSelector.type(密码);
//现在,您可以检查登录是否成功并保存它
等待登录成功();
logins.table.push(用户);
//每次登录后将数据写入新文件
writeFile('logins.json',登录名,{spaces:2},函数(err){
控制台日志(err);
});
})
最后,您必须使用相同内容的json文件。但是如果你
要检查哪些登录成功,您必须在保存部分周围添加一个附加的if条件
内存解决方案
您可以将您的部分与上述内容结合起来,动态生成伪造者数据
const faker=require('faker');
const jsonfile=require('jsonfile');
/**
*这将生成一个包含用户名和密码的元组
*/
const generateUserLogin=()=>({
用户名:faker.internet.userName(),
密码:faker.internet.passWord()
})
/**
*一个reducer函数,用于测试登录并保存数据
*成功还是失败
*/
const loadPageAndLogin=async(登录、凭据)=>{
//这是完成上一个函数调用所必需的
const acc=等待登录;
//将元组分解为变量
const{userName,passWord}=凭证;
//猜猜你是如何加载页面的
等待loadPageAndWaitOnSelector();
userSelector.type(用户名);
passSelector.type(密码);
//现在,您可以检查登录是否成功
const issucess=等待登录成功();
如果(isSuccess){
acc.success.push(凭证);
}否则{
acc.failure.push(凭证);
}
返回acc;
}
//创建包含10个条目的空数组
常量登录=[…数组(10)]
//为每个条目生成一个登录名
.map(generateUserLogin)
//使用每个生成的登录名测试页面
.reduce(loadPageAndLogin,Promise.resolve({success:[],failure:[]}))
//将之后的数据写入新文件
writeFile('logins.json',登录名,{spaces:2},函数(err){
控制台日志(err);
});
在本例中,仅生成结果的json文件。在其中,成功登录和失败登录是分开的。因此,您在后端使用相同的数据进行输入和检查,并希望每行通过数据行?是的,因此用户+密码生成到JSON中。然后我接受第一个用户并通过,输入它,然后将其传输到另一个JSON文件Hello!谢谢你的回复。JSON不是最好的吗?我将通过Puppeter进入一个登录页面,然后我希望它接收预生成的用户并传递,输入它,然后在一个新文件中通过这两个页面,这样我就知道哪些已经通过了。我不质疑JSON格式,但如果您只需要生成的数据,就不需要将其保存到文件中。我现在明白您的意思了,是的,那么上面的代码是否适合使用生成,然后将成功生成的代码保存到JSON中,这样我就知道应该在哪里更新。相反,我现在使用的是Firebase,它似乎工作得更好
console.log(userList.table[0].name);
console.log(userList.table[0].pass);