Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/394.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
带有增量的更新Javascript问题_Javascript_Json_Database_Puppeteer_User Registration - Fatal编程技术网

带有增量的更新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文件中

我用这个来测试注册一个网站

  • 转到网站等待选择器
  • 输入用户和从faker生成的通行证
  • 获取从伪造者生成的用户和通行证,并将其存储在其他位置
  • 移动到下一个用户并通过 然后重复
  • 希望有人能帮忙


    非常感谢

    我这里的主要问题是,为什么要依赖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);