Java Selenium Chromedriver Webdriver 尽可能快



我正在将一个独立的程序连接到一个网站,我必须阅读该网站的某些页面。首先,我使用了Jsoup,但是有了这个,我发现我需要的一些信息是在页面加载后加载的,所以我搜索了Web驱动程序。(我不是在寻找图片或大东西,我的内容都是文字(

现在,我找到了ChromeDriver,但它对于我的情况来说太慢了,因为它有很多选项和功能。 就我而言,我只需要比 Jsoup 可能性多一步。 是否可以禁用ChromeDriver选项和功能的最佳部分以实现这一目标?

例如,我看到插件被禁用,但一个接一个,并不适用于每台 PC 上的每个 chrome 浏览器。我没有找到像"plugin.disable-all"这样的选项。

此外,通过这种方式,我无法打开多个chromedriver实例。此时此刻,Chrome驱动程序的每个实例都在打开一个使用100Mb内存的Google Chrome Helper。

希望一切都清楚

HtmlUnit 可能足以满足您的需求。它确实支持一些Javascript。

它可以与网络驱动程序一起使用。但本身可能就足够了

要使您的 Web 驱动程序运行得更快(但不是那么快(,您可以在无头模式下运行驱动程序。有关如何进入Chrome无头模式的教程,请参阅这些文章。

在启动驱动程序之前,请将--headless参数添加到ChromeOptions

无头模式可以通过不呈现浏览器窗口来加速自动化,但请记住,使用 JSoup 执行直接的 HTTP GET 总是更快。

我的建议是对页面进行更多的逆向工程,看看你是否可以弄清楚如何直接查询(大概是AJAX(调用放在页面上的任何内容。如果您可以将这些特定请求视为 API,并且只查询您想要的内容,您将能够比通过 Selenium 进行浏览器自动化更快地获得结果。

相关内容

  • 没有找到相关文章

最新更新