0
我有些奇怪的東西。我想在網頁上獲取一些信息(this one for example)。當我從當地進行測試時,沒有問題,我得到了我想要的所有細節。JSDom在Heroku和本地進行不同的分析
但是當我將腳本推送到heroku時,jsom只提供了一個完全空白的頁面,沒有任何DOM insisde,所以沒有數據。我不明白爲什麼。
這裏的package.json的主要部分:
{
"engines": {
"node": "5.8.0",
"npm": "3.7.3"
},
"dependencies": {
"co": "4.6.0",
"co-body": "2.0.0",
"co-pg": "1.3.1",
"jsdom": "9.12.0",
"koa": "0.21.0",
"koa-bodyparser": "2.0.0",
"koa-logger": "1.3.1"
},
"devDependencies": {
}
}
這裏是我如何創建jsdom請求:
jsdom.env({
url: 'https://www.manomano.fr/perceuse/perceuse-visseuse-makita-18-v-li-ion-4-ah-d-13-mm-90249',
userAgent : 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.98 Safari/537.36',
scripts: [],
done: function (err, window) {
// err is null, on local or on prod on Heroku
/**
* Concerning window :
*
* In production
* window.document.querySelector('body').innerHTML === ''
*
* In local
* I got the whole HTML as
* I can have navigating with my browser.
**/
}
});
我曾嘗試使用或不使用用戶代理屬性。以及「古典」電話也有三種:
jsdom.env('https://www.manomano.fr/perceuse/perceuse-visseuse-makita-18-v-li-ion-4-ah-d-13-mm-90249', [same options], [sameCallback]);
想知道發生了什麼嗎?當然,關於heroku的日誌裏沒有更多的信息......我現在完全停留在這個問題上。我在其他網站做同樣的應用程序(真的是一樣的,不只是一個克隆/叉),沒有問題,沒有區別prod heroku和我的本地。
在此先感謝大家和任何想法!