我是CasperJS的新手,我有一些问题从<p class="city">Data I Need</p>
获取innerHTML
我尝试了一些事情,但似乎没有任何事情可以解决。
var city_name= casper.evaluate(".//*[@class='city_name']", document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue;
var friend_username = city_name.innerHTML;
和
var city_name = this.evaluate(function() {
return document.querySelector(".//*[@class='city_name']").innerHtml;
});
答案 0 :(得分:8)
CasperJS默认使用CSS选择器:
var city_name = casper.evaluate(function() {
return document.querySelector(".city_name").innerHTML;
});
请注意,该属性为innerHTML
而不是innerHtml
。另请注意,casper.evaluate()
是页面上下文的界面,与document.evaluate()
无关。
您当然可以使用带有CasperJS实用程序的XPath表达式。像casper.getElementInfo()
这样的函数为您提供了一些其他属性,例如html
,它实际上是相应DOM元素上的innerHTML
属性。
var x = require("casper").selectXPath;
...
var city_name = casper.getElementInfo(x(".//*[@class='city_name']")).html;
答案 1 :(得分:0)
对我来说,我喜欢使用casper的getElementInfo()方法:
casper.getElementInfo('<insert CSS selector>').html
或者在我的情况下,我想要内部文本:
casper.getElementInfo('<insert CSS selector>').text