我可以自动停止casper.fetchText吗?

时间:2015-02-21 15:55:14

标签: javascript parsing text casperjs

casper.fetchText似乎会自动删除所提取文本中的<br>

e.g。如果文字为abc<br>de,则casper.fetchText将返回abcde而不是abc<br>de

有没有办法让它保持为abc<br>de

1 个答案:

答案 0 :(得分:0)

保留<br>的唯一方法是将元素的表示形式检索为HTML。

有几种方法。 casper.fetchText()连接所有匹配元素的文本内容。这也正是element.textContent的作用,但只适用于一个元素。

您可以使用casper.getHTML()检索单个元素的element.innerHTML

var content = casper.getHTML(selector);

如果您想要与fetchText相同的行为,它会连接所有元素&#39;值,然后你需要自己这样做:

var contents = casper.getElementsInfo(selector).map(function(e){
    return e.html;
}).join("\n");

casper.getElementsInfo()为每个元素提供html属性。 map创建一个仅包含html字符串的数组,而join会生成一个字符串。