casper.fetchText
似乎会自动删除所提取文本中的<br>
。
e.g。如果文字为abc<br>de
,则casper.fetchText
将返回abcde
而不是abc<br>de
。
有没有办法让它保持为abc<br>de
?
答案 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
会生成一个字符串。