使用casperjs解析img url

问题描述 投票:1回答:3

我有一个问题从我试图刮的网站获取图像网址。我能够通过这样的代码片段获得所有文本没问题:

var cost = casper.fetchText('span.large');

但是,当我尝试获取图像URL时,我在控制台中收到“未定义”的回复。

var img = casper.getHTML('.search-product-image').src;

.search-product-image是图像类,我只是想获取图片网址,谢谢。

javascript image url casperjs
3个回答
3
投票

用这个 :

casper.getElementAttribute('.search-product-image','src');

1
投票

你可以包含JQuery并利用下面的语法糖或者以香草的方式做。仅供参考,如果你的getLink有错误而你尝试casper.evaluate(getLinks)它将返回null。它不会指示它所在的行或错误。

var casper = require('casper').create({
  verbose: true,
  logLevel: 'debug',
  clientScripts: ["vendor/jquery.min.js", "vendor/lodash.js"]
});

...
function getLinks(){
  // Scraping images
  $("img.ExImg.ExResult-img").each(function() {  
     imgSrc = this.src;
     tempImagesArr.push(imgSrc);
  });
}

casper.run(function() {
  var workouts = this.evaluate(getLinks);
  this.saveJSON(workouts);
  this.exit();
});

0
投票

我不知道casperjs是如何工作的,但你必须阅读casperjs文档。 http://casperjs.readthedocs.org/en/latest/modules/casper.html#gethtml

getHTML函数在容器中返回html值。所以你在这个字符串中分割了src值。或者你可以只使用querySelector。

试试这段代码:

 var img = document.querySelector('.search-product-image').src;

如果你的文档中有很多元素,你必须使用document.querySelectorAll('。search-product-image')[0]

© www.soinside.com 2019 - 2024. All rights reserved.