Javascript 使用ChereIO的jquery不返回任何值

Javascript 使用ChereIO的jquery不返回任何值,javascript,jquery,node.js,web-scraping,cheerio,Javascript,Jquery,Node.js,Web Scraping,Cheerio,试图刮取网站的首页()以返回标签中的任何内容,该标签包含对xbox的引用,但不会返回任何内容到控制台。我认为问题在于带有:contains的if语句 var fs = require('fs'), request = require('request'), cheerio = require('cheerio'); url = 'http://www.ozbargain.com.au'; request(url, function(error, response, html)

试图刮取网站的首页()以返回标签中的任何内容,该标签包含对xbox的引用,但不会返回任何内容到控制台。我认为问题在于带有:contains的if语句

var fs = require('fs'),
    request = require('request'),
    cheerio = require('cheerio');

url = 'http://www.ozbargain.com.au';

request(url, function(error, response, html) {
  if (!error && response.statusCode == 200) {
    var $ = cheerio.load(html);
    if($("a:contains('Xbox')").length) {
      //console.log(this);
      var el = $(this);
      var log = el.text();
      console.log(log);
    } else {
      console.log('hey');
    }
  }
});
我要找的html块。特别是,我想要一个标签

<h2 class="title" id="title214252"><a href="/node/214252">Free on Xbox One, Xbox 360, PS3, PS4: Tales from the Borderlands (Episode 1)</a></h2>

contains的Cheerio语法与jQuery略有不同。Ommit在您正在搜索的字符串周围加上单引号,它应该可以工作:

$("a:contains(Xbox)")

将选择器指定给一个变量,然后称为text方法

request(url, function(error, response, html) {
    if (!error && response.statusCode == 200) {
        var $ = cheerio.load(html);
        var $el = $("a:contains('Xbox')");

        if ($el.length) {
            console.log($el.text());
        } else {
            console.log('hey');
        }
    }
});

你的选择器一定错了。在浏览器中打开控制台,查看是否选择了所需的项目。我将如何连接它以形成选择器<代码>