Основные вопросы о injectFile - PullRequest
0 голосов
/ 07 ноября 2019

У меня есть несколько фундаментальных вопросов о injectFile:

  1. Когда вы рекомендуете использовать injectFile (code) вместо page.evaluate (code, ...), чтобы получить код на страницу, которую нужно очистить?
  2. Каковы различия / преимущества / недостатки в использовании injectFile (код), например, в производительности, обнаружении защиты от скребков и т. П.?
  3. Как должен быть реализован injectFile (код), заменив gotoFunction и реализовав событие page.on ('domcontentloaded', ...), как я сделал? Или есть лучший способ?
  4. Каков вариант использования опции «aliveNavigations», если не описанный в моем предыдущем посте? Зачем это нужно?

С уважением, Вольфганг

1 Ответ

0 голосов
/ 07 ноября 2019

Если вы посмотрите на короткий исходный код injectFile, он использует page.evaluate, поэтому они в основном одинаковы.

1) Мы используем почти всегда page.evaluateпросто потому что кода меньше. Если нам нужно использовать более сложные библиотеки, мы используем их в процессе Node.js (на стороне сервера) вместо того, чтобы вставлять их на страницу. Мы используем инъекцию только для JQuery.

2) Это не имеет значения для производительности или защиты от соскабливания.

3) Обычно мы вводим в handlePageFunction, но если вам это нужно раньшеНавигация, вы можете ввести внутри gotoFunction.

4) Например, если вы нажмете на кнопку, страница может перемещаться. Но для новой страницы / запроса вы должны добавить ее снова. Как я уже сказал, если вы не используете гигантскую библиотеку, это не повлияет на производительность.

...