Получать и обрабатывать данные от пользователя Node.js - PullRequest
0 голосов
/ 12 ноября 2019

Я хочу получать данные от пользователя и совершать транзакции с этими данными. Нужно ли создавать HTML-файл для этого? Или я могу сделать это на одной странице?

Например,

const option = (await frame1. $ X ('// * [@ id = "classname"] / option [text () = "example.com"]')) [0];

Я хочу, чтобы пользователь вводил данные example.com, как я могу получить их от пользователя и изменить example.com?

const puppeteer = require('puppeteer');
const http = require('http');

    const server = http.createServer(function(request, response) {
      console.dir(request.param)

      if (request.method == 'POST') {
        console.log('POST')
        var body = ''
        request.on('data', function(data) {
          body += data
          console.log('Partial body: ' + body)
        })
        request.on('end', function() {
          console.log('Body: ' + body)
          response.writeHead(200, {'Content-Type': 'text/html'})
          response.end('post received')
        })
      } else {
        console.log('GET')
        var html = `
                <html>
                    <body>
                        <form method="post" action="http://localhost:3000">Name: 
                            <input type="text" name="name" />
                            <input type="submit" value="Submit" />
                        </form>
                    </body>
                </html>`
        response.writeHead(200, {'Content-Type': 'text/html'})
        response.end(html)
      }
    })

    const port = 3000
    const host = '127.0.0.1'
    server.listen(port, host)
    console.log(`Listening at http://${host}:${port}`);

//this change maybe then?
(async () => {
  const browser = await puppeteer.launch({headless:false})
  const page = await browser.newPage()


 await page.goto(body.name);
 const iframeHandle = await page.$("frame[name='main']");
 const frame = await iframeHandle.contentFrame();
 const option = (await frame.$x('//*[@id = "classname"]/option[text() = "@body.name"]'))[0];      
})()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...