Java Selenium:如何在不首先加载页面的情况下获取网页的HTML?

马丁

使用Selenium WebDriver for Java,是否可以在给定指定URL的情况下获取网页的HTML?

我知道,一旦在浏览器中加载了网页,就可以使用WebDriver.getPageSource()获得HTML。但是,为了提高效率,是否可以在不先将页面加载到浏览器中的情况下获取HTML?

索拉布·高尔(Saurabh Gaur)

您可以使用无头浏览器来实现

无头浏览器是没有图形用户界面的Web浏览器。该程序的行为就像浏览器一样,但是不会显示任何GUI。

无头浏览器通常用于以下情况:-

  • 您有一个中央构建工具,上面没有安装任何浏览器。因此,要在每次构建后进行基本的健全性测试,您可以使用无头浏览器来运行测试。

  • 您想要编写一个爬虫程序,该程序会浏览不同的页面并收集数据,无头浏览器将是您的选择。因为您真的不在乎打开浏览器。您所需要做的就是访问这些网页。

  • 您想在同一台计算机上模拟多个浏览器版本。在那种情况下,您将要使用无头浏览器,因为它们大多数都支持模拟不同版本的浏览器。我们将很快到达这一点。

使用无头浏览器之前要注意的事项

无头浏览器是模拟程序,不是您真正的浏览器。这些无头浏览器中的大多数已经发展到足以像真实浏览器一样近似模拟。仍然您不希望在无头浏览器中运行所有测试。在使用无头浏览器之前,JavaScript是您需要非常小心的地方。不同的浏览器对JavaScript的实现方式有所不同。尽管JavaScript是一种标准,但是每种浏览器在实现JavaScript的方式上都有其自身的微小差异。在无头浏览器的情况下也是如此。例如,HtmlUnit无头浏览器使用Rihno JavaScript引擎,而其他任何浏览器都不会使用它。

无头驱动程序的一些示例包括

  • HtmlUnit
  • 幻影
  • 僵尸JS
  • 水驱动

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在不首先加载页面的情况下如何进行硬刷新?

来自分类Dev

如何在不覆盖Java的情况下写入文件?

来自分类Dev

如何在不刷新页面的情况下正确加载Google Map API?

来自分类Dev

如何在不使用类加载器的情况下动态加载Java类?

来自分类Dev

如何在不刷新页面的情况下获取laravel数据?

来自分类Dev

如何在不重新加载页面的情况下使用javascript过滤html表?

来自分类Dev

如何在不刷新Chrome页面的情况下查看HTML源代码

来自分类Dev

如何在不重建 Jar 的情况下使用 Java 加载外部属性文件?

来自分类Dev

如何在不初始化Java中for循环的情况下重用变量?

来自分类Dev

如何在不损坏文件的情况下用Java将InputStream转换为PDF?

来自分类Dev

如何在不链接回调用源的情况下跳到Java中的方法?

来自分类Dev

在Java中如何在不返回实例或数据副本的情况下获得对属性的访问?

来自分类Dev

如何在不指定类的情况下使用显式类型参数调用Java方法?

来自分类Dev

如何在不丢失Java单词的情况下拆分字符串?

来自分类Dev

如何在不写入磁盘的情况下解析zip中的文件-Java

来自分类Dev

如何在不指定共享类型的情况下使用Box Java SDK创建共享链接?

来自分类Dev

如何在不结束循环的情况下停止Java扫描程序

来自分类Dev

如何在不选择Java中选择打印机的情况下进行打印

来自分类Dev

我的Java程序如何在不每次都建立连接的情况下连续使用MATLAB?

来自分类Dev

如何在不访问Java母函数的情况下将参数传递给回调

来自分类Dev

我如何在不导入任何Java库的情况下使直方图更具OOPy?

来自分类Dev

如何在JAVA中不导入JButton的情况下创建按钮

来自分类Dev

如何在Java中不初始化的情况下使用数组

来自分类Dev

如何在不使用自动导出的情况下使用Selenium Webdriver从Java生成Har文件?

来自分类Dev

如何在不获取“ C ++ 11要求文字和标识符之间有空格”的情况下编译“ lightweight-java-profiler”

来自分类Dev

Java-如何在未声明的情况下获取列表中的元素?

来自分类Dev

如何在不考虑Java中命名空间名称的情况下从XML获取Node?

来自分类Dev

如何在不解析Java中的xml的情况下获取特定值

来自分类Dev

Java如何在不使用外部库的情况下以毫秒为单位获取月份

Related 相关文章

  1. 1

    在不首先加载页面的情况下如何进行硬刷新?

  2. 2

    如何在不覆盖Java的情况下写入文件?

  3. 3

    如何在不刷新页面的情况下正确加载Google Map API?

  4. 4

    如何在不使用类加载器的情况下动态加载Java类?

  5. 5

    如何在不刷新页面的情况下获取laravel数据?

  6. 6

    如何在不重新加载页面的情况下使用javascript过滤html表?

  7. 7

    如何在不刷新Chrome页面的情况下查看HTML源代码

  8. 8

    如何在不重建 Jar 的情况下使用 Java 加载外部属性文件?

  9. 9

    如何在不初始化Java中for循环的情况下重用变量?

  10. 10

    如何在不损坏文件的情况下用Java将InputStream转换为PDF?

  11. 11

    如何在不链接回调用源的情况下跳到Java中的方法?

  12. 12

    在Java中如何在不返回实例或数据副本的情况下获得对属性的访问?

  13. 13

    如何在不指定类的情况下使用显式类型参数调用Java方法?

  14. 14

    如何在不丢失Java单词的情况下拆分字符串?

  15. 15

    如何在不写入磁盘的情况下解析zip中的文件-Java

  16. 16

    如何在不指定共享类型的情况下使用Box Java SDK创建共享链接?

  17. 17

    如何在不结束循环的情况下停止Java扫描程序

  18. 18

    如何在不选择Java中选择打印机的情况下进行打印

  19. 19

    我的Java程序如何在不每次都建立连接的情况下连续使用MATLAB?

  20. 20

    如何在不访问Java母函数的情况下将参数传递给回调

  21. 21

    我如何在不导入任何Java库的情况下使直方图更具OOPy?

  22. 22

    如何在JAVA中不导入JButton的情况下创建按钮

  23. 23

    如何在Java中不初始化的情况下使用数组

  24. 24

    如何在不使用自动导出的情况下使用Selenium Webdriver从Java生成Har文件?

  25. 25

    如何在不获取“ C ++ 11要求文字和标识符之间有空格”的情况下编译“ lightweight-java-profiler”

  26. 26

    Java-如何在未声明的情况下获取列表中的元素?

  27. 27

    如何在不考虑Java中命名空间名称的情况下从XML获取Node?

  28. 28

    如何在不解析Java中的xml的情况下获取特定值

  29. 29

    Java如何在不使用外部库的情况下以毫秒为单位获取月份

热门标签

归档