【发布时间】:2018-01-13 09:38:33
【问题描述】:
我想先选择 <span> 和第二个 <span> ,然后获取它们的 innerText。
我尝试使用 xpath 或 document.querySelector ,它们不起作用。我console.log我的数组显示为空。
// I want to select first <span>
function getDate() {
var date = document.querySelector('div.movie_intro_info_r li').selectedIndex = 1;
return Array.prototype.map.call(date, function (e) {
return e.innerHTML;
});
};
// I want to select second <span>
function getMovieLength() {
var movieLength = document.querySelectorAll(x('//*[@class="movie_intro_info_r"]/span[2]'));
return Array.prototype.map.call(movieLength, function (e) {
return e.innerText;
});
};
casper.then(function () {
casper.each(movieHref, function (casper, url) {
casper.thenOpen(url, function () {
casper.waitForSelector('div.btn_gray_info.gabtn', function () {
console.log('wait for element');
});
releaseDate[urlCount] = this.evaluate(getDate);
console.log(releaseDate[urlCount]);// show null
movieLength[urlCount] = this.evaluate(getMovieLength);
console.log(movieLength[urlCount]);// show null
urlCount++;
});
});
});
我怎样才能只选择指定的元素并获取它的innerText?
【问题讨论】:
标签: javascript css-selectors phantomjs casperjs selectors-api