https://panthers.strmarketplace.com/Permanent-Seat-Licenses/For-Sale.aspxЯ хочу отказаться от нижней таблицы на этом веб-сайте, используя Horseman и PhantomJS. Что мне делать?
Нижняя таблица нуждается в прокрутке, чтобы показать больше данных. Это код, который я написал до сих пор:
horseman
.open("https://panthers.strmarketplace.com/Permanent-Seat-Licenses/For-Sale.aspx")
.waitForSelector('div.ui-grid-cell-contents')
.text('div.ui-grid-cell-contents.ng-binding.ng-scope')
.then(function(data) {
console.log(data);
});
Что я должен добавить, или улучшить, чтобы прокрутить по всей таблице и получить все данные из ячеек?
Обновление для-Бабков (возвращает неопределенное значение):
var Horseman = require("node-horseman");
var horseman = new Horseman({timeout: 50000});
horseman
.open("https://texans.seasonticketrights.com/Permanent-Seat-Licenses/For-Sale.aspx")
.waitForSelector("div.ui-grid-cell-contents.ng-binding.ng-scope")
.evaluate(function() {
return angular.element($("div.ui-grid-canvas").get(0)).scope().rowContainer.visibleRowCache;
})
.then(function(item) {
console.log(item);
});
Если бы я был вами, я бы попытался получить данные непосредственно из Angular Scope вместо прокрутки. Это даст вам скорость и надежность. Если вы открываете страницу в Chrome DevTools, следующая команда в консоли дает вам дату таблицы: angular.element ($ ('. Ui-grid-canvas'). Get (0)). Scope(). RowContainer. visibleRowCache –
@ a-bobkov Как это сделать в Node.js? –
Всадник, который вы используете, имеет функцию «оценить» - https://github.com/johntitus/node-horseman#evaluatefn-arg1-arg2 –