我正在使用一种抓取工具,试图从glassdoor.com
中抓取评论。
当我在浏览器控制台中运行此代码时,我得到了预期的值。但是,当我尝试运行此代码来通过Phantom JS
评估网页时,会收到错误消息。
我正在执行的脚本here
var allReviews = document.querySelectorAll(".empReview");
var totalReviews = document.querySelector(".common__EIReviewSortBarStyles__sortsHeader h2").textContent.match(/\d+/)[0];
var totalPages = Math.ceil(totalReviews / allReviews.length);
return totalPages;
Phantom JS脚本,用于评估页面
totalPages = await ph_page.evaluate(function(totalPagesCode) {
var fn = new Function(totalPagesCode);
return fn();
}, totalPagesCode);
错误
info: TypeError: null is not an object(evaluating 'document.querySelector(".common__EIReviewSortBarStyles__sortsHeader h2").textContent')
info: undefined: 2 in anonymous
info:: 3 in anonymous
info:: 5
主要问题是,有时它可以工作,有时不起作用,我不知道为什么。