使用 node.js 从更改事件中抓取网站数据

Scrape data from website from on change event using node.js

我正在尝试从一个网站抓取数据。因为当页面加载时有下拉列表,我必须从下拉列表中选择 select 特定值。

我正在使用 cheerio 从网络抓取数据,参考 link 是 https://www.npmjs.com/package/cheerio

当下拉值发生变化时,他们会像这样调用一些 Javascript 函数 https://www.w3schools.com/jsref/tryit.asp?filename=tryjsref_onchange

我可以更改 node.js 中的下拉值,但值不会改变。当我在更改下拉列表的值后进行抓取时,我仍在获取默认页面加载数据。

我对此进行了很多搜索,但没有得到任何正确的输出。我需要一些 modulecode,它们可以与 'node.js' 一起使用。

刚好最近用了nightmare.js,用着挺好的。为此,您必须安装它。

npm install --save nightmare

主要是我觉得,您可以从 GUI 调试代码。根据您的代码,它将以 GUI 形式显示。感觉像是自动化测试。

const Nightmare = require('nightmare')

const nightmare = Nightmare({ show: true })

如果要关闭 GUI 只需设置 {show:false}

var URL = "www.example.com";
nightmare
  .goto(URL)
  .click('#btn1')
  .end()
  .then(console.log)
  .catch(error => {
     console.error('Search failed:', error)
  })