通过 POST 请求将参数传递给 javascript 文件

Passing arguments to a javascript file via POST request

我希望能够使用 POST 请求 运行 网络自动化脚本文件。这是一个代码示例,例如我想将参数传递给 运行 .goto() 并指定用户 URL 而不是显示的用户:

var Nightmare = require('nightmare');
var nightmare = Nightmare({ show: true });

nightmare
  .goto('https://duckduckgo.com')
  .type('#search_form_input_homepage', 'github nightmare')
  .click('#search_button_homepage')
  .wait('#zero_click_wrapper .c-info__title a')
  .evaluate(function () {
    return document.querySelector('#zero_click_wrapper .c-info__title a').href;
  })
  .end()
  .then(function (result) {
    console.log(result);
  })
  .catch(function (error) {
    console.error('Search failed:', error);
  });

有没有办法将这样的参数直接传递到 .js 文件中?

将对 nightmare 的调用包装在接受参数的函数中:

var Nightmare = require('nightmare');
var nightmare = Nightmare({ show: true });

function nightmareWrapper(urlArgument) {
    nightmare
        .goto(urlArgument)
        .type('#search_form_input_homepage', 'github nightmare')
        .click('#search_button_homepage')
        .wait('#zero_click_wrapper .c-info__title a')
        .evaluate(function () {
            return document.querySelector('#zero_click_wrapper .c-info__title a').href;
        })
        .end()
        .then(function (result) {
            console.log(result);
        })
        .catch(function (error) {
            console.error('Search failed:', error);
        });
}

// And call it like so:

var urlArgument = 'https://duckduckgo.com';
nightmareWrapper(urlArgument);