网页上的NightmareJS输出

时间:2017-07-10 23:00:55

标签: javascript html css nightmare

我试图通过按钮点击在网页上输出nightmareJS的输出 使用HTML CSS和JS。

我的噩梦.JS:

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

nightmare
  .goto('https://en.wikipedia.org/wiki/Red_Hat_Enterprise_Linux')

  //.wait('#entry-content')
  .evaluate(function () {
    var ht = document.querySelector('#toc > ul').innerText;
    //return ht[0];
    //return (ht.split(/\r\n|\r|\n/).length);
    //check = document.querySelectorAll('#bodyblock > ul >li').length;
    //return check;
    //var ht1 = document.querySelectorAll('#bodyblock > ul > li ').innerText[5];
    //return ht1;
    return ht;


  })
  .end()
  .then(function (result) {
     console.log(result)
  })
  .catch(function (error) {
    return('Search failed:', error);
  });

我试过了: 示例:

<script>
function scrapedData(){
  document.getElementById("nighmareJSOutput").innerHTML = result;
}
</script>

<body>

  <div>
    <p id="nighmareJSOutput"> </p>
    <button onclick="scrapedData()"> click me </button>

  </div>

这也不起作用。

请提供任何提示或建议。

1 个答案:

答案 0 :(得分:1)

我在评论示例中向您提供了请求。如果您仍然遇到问题,请提出问题。

const express = require('express')
const Nightmare = require("nightmare")
const app = express()

app.get('/', async function (req, res) {
  const nightmare = Nightmare({ show: false})
  const url = 'https://en.wikipedia.org/wiki/Red_Hat_Enterprise_Linux'
  await nightmare.goto(url)
  await nightmare.wait(2000)
  const result = await nightmare.evaluate(
    () => document.querySelector('#toc > ul').innerText
  )
  res.send(result)
})

app.listen(3000, function () {
  console.log('Example app listening on port 3000!')
})