Изтичане на времето при waitForSelector означава, че очакваният елемент не е изпълнил условието си за изчакване. Добавянето на прокси преди той да се появи не доказва, че TCP връзката през прокси сървъра е изтекла.

  1. Запазете доказателствата от навигацията. Запишете крайния URL, състоянието на основния отговор и съответните неуспешни заявки преди изчакването на селектора. В Puppeteer отговор с HTTP грешка не се хвърля непременно като изключение при навигация.
  2. Прегледайте доставения документ. Заглавието му или внимателно редактирана снимка на екрана може да разкрие предизвикателство за вход, страница за отказ на достъп или друга регионална страница. Възможно е и желаната страница да е имала неуспешни заявки на приложението; проверете също селектора и рамката.
  3. Решавайте всяко предизвикателство при източника му. Конфигурирайте поддържана автентикация за прокси преди навигация, когато предизвикателството идва от проксито. Предизвикателство от дестинацията принадлежи на оторизирания работен процес на приложението и има собствени идентификационни данни.

Това често разкрива полезни доказателства, съществували преди изчакването на елемента да стане първото изключение, за което съобщава кодът ви. Подаването на парола на сайт към проксито не може да коригира онзи по-ранен документ.

Изберете времетраенето, след като установите неуспешната операция. Навигацията, настройката на мрежата и изчакването на елементи имат различни граници. Наистина бавен интерфейс може да оправдае по-дълго изчакване на селектора; страницата с грешка обаче ще остане грешният документ.

Поддържайте сесията на браузъра и маршрута постоянни, докато сравнявате. Смяната на проксито, селектора и цялото състояние на браузъра в един опит скрива кое условие е имало значение.

Подобни статии