DomCrawler не может разобрать html-страницу (текущий список узлов пуст) - PullRequest
0 голосов
/ 02 октября 2018

Я использую domcrawler для cms, пытаюсь проанализировать некоторую HTML-страницу с данными таблицы.Но я столкнулся с проблемой: текущий список узлов пуст.Итак, прежде всего я захожу в аккаунт веб-страницы:

$crawler = $client->request('GET', $mainURL);
$form = $crawler->selectButton('Войти')->form();
$crawler = $client->submit($form, array('login' => 'some_login', 'password' => 'some_password'));

Затем я получаю еще одну страницу с формой, где я могу получить еще одну порцию соответствующих данных:

$crawler = $client->request('GET', 'https://www.nlstar.com/ru/office4/business/structure/');
$form = $crawler->selectButton('form-submit')->form();
$crawler = $client->submit($form);

Послечто новая страница должна загружаться данными, которые сканер должен проанализировать с помощью выражения фильтра:

$crawler->filter('#downline tbody tr')->each(function ($node) use ($fieldsIdxs, $accountsRepo, $statsRepo) {

Но на самом деле все заканчивается здесь.Если я добавлю некоторую отладочную информацию, например:

var_dump($client->getResponse()->getContent());
echo $crawler->html();

При 1 запросе все данные будут отображаться как (данные, которые мне нужны, но мне они нужны на html-странице, а не в строке):

string(615980) "{"num_pages":1,"count":776,"page":1,"downline":[{"qualification":"M","fatmoney":false,"start_in_this_month":false,"year":2018,"period":"Октябрь 2018","qualification_idx":

при 2 запросах будет отображаться ошибка:

The exception returned was:
The current node list is empty.
Backtrace:
#0 /path_to_file/MainExtension.php(343):
Symfony\Component\DomCrawler\Crawler->html()

Прежде всего, я проверил страницу, которую сканер должен проанализировать - страница в порядке, все данные на месте, внизу tbody иtr - существуетВо-вторых, я изменил ссылку с этой с формой https://www.nlstar.com/ru/office4/business/structure/ на прямую ссылку https://www.nlstar.com/ru/office4/business/structure/?period_... - та же ошибка и те же данные в 1 запросе.

Так что я в основном не понялчто происходит и почему сканер не может проанализировать страницу с данными таблицы.Кто может помочь мне разобраться?

...