Если вы посмотрите на короткий исходный код injectFile
, он использует page.evaluate
, поэтому они в основном одинаковы.
1) Мы используем почти всегда page.evaluate
просто потому что кода меньше. Если нам нужно использовать более сложные библиотеки, мы используем их в процессе Node.js (на стороне сервера) вместо того, чтобы вставлять их на страницу. Мы используем инъекцию только для JQuery.
2) Это не имеет значения для производительности или защиты от соскабливания.
3) Обычно мы вводим в handlePageFunction
, но если вам это нужно раньшеНавигация, вы можете ввести внутри gotoFunction
.
4) Например, если вы нажмете на кнопку, страница может перемещаться. Но для новой страницы / запроса вы должны добавить ее снова. Как я уже сказал, если вы не используете гигантскую библиотеку, это не повлияет на производительность.