0

我有一些关于 injectFile 的基本问题:

  1. 您何时建议使用 injectFile(code) 而不是 page.evaluate(code, ...) 将代码放入要抓取的页面中?
  2. 使用 injectFile(code) 有什么区别/优点/缺点,例如在性能、抗刮擦可检测性等方面?
  3. 应该如何像我一样通过替换 gotoFunction 和实现 page.on('domcontentloaded', ...) 事件来实现 injectFile(code) ?或者,还有更好的方法?
  4. 如果不是我上一篇文章中描述的,选项“surviveNavigations”的用例是什么?它是干什么用的?

最好的问候,沃尔夫冈

4

1 回答 1

1

如果您查看 的简短源代码injectFile,它会使用它们,page.evaluate因此它们基本相同。

1)我们几乎总是使用page.evaluate它,因为它的代码更少。如果我们需要使用一些更复杂的库,我们在 Node.js 进程(服务器端)中使用它们,而不是将其注入到页面中。我们只对 JQuery 使用注入。

2)不管是性能还是防刮。

3)通常,我们注入,handlePageFunction但如果您在导航之前需要它,您可以注入 inside gotoFunction

4)例如,如果您单击按钮,则页面可以导航。但是对于一个新的页面/请求,你应该再次注入它。正如我所说,除非您使用一些巨大的库,否则它不会对性能产生任何影响。

于 2019-11-07T17:07:46.803 回答