【发布时间】:2016-01-31 03:55:05
【问题描述】:
我在 Node JS 中使用 Selenium Webdriver 进行 Google 搜索。当我在本地机器上将浏览器设置为 Firefox 时,Google 结果页面按预期呈现;这与我以人类身份进行 Google 搜索时看到的情况相同。
现在,我正尝试在我的 Heroku 服务器上做同样的事情。我似乎无法在服务器上安装 Firefox,所以我使用的是 PhantomJS。它成功地进行了谷歌搜索,但页面中缺少一些数据(我认为它是稍后由 Javascript 添加的)。
如何使 PhantomJS 结果页面看起来与 Firefox 相同?我可以让 PhantomJS 看起来像 Firefox 吗?
var driver = new webdriver.Builder().forBrowser('phantomjs').build();
driver.get('http://www.google.com/ncr');
driver.findElement(By.name('q')).sendKeys('empire boston');
driver.findElement(By.name('btnG')).click();
driver.wait(until.titleIs('empire boston - Google Search'), 10000);
driver.getTitle().then(function(title) {
console.log('Page title is: ' + title);
});
driver.getPageSource().then(function(html) {
console.log("HTML: " + html);
});
【问题讨论】:
标签: node.js firefox heroku selenium-webdriver phantomjs