Step 1. Add the JitPack repository to your build file
Add it in your root settings.gradle at the end of repositories:
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
mavenCentral()
maven { url 'https://jitpack.io' }
}
}
Add it in your settings.gradle.kts at the end of repositories:
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
mavenCentral()
maven { url = uri("https://jitpack.io") }
}
}
Add to pom.xml
<repositories>
<repository>
<id>jitpack.io</id>
<url>https://jitpack.io</url>
</repository>
</repositories>
Add it in your build.sbt at the end of resolvers:
resolvers += "jitpack" at "https://jitpack.io"
Add it in your project.clj at the end of repositories:
:repositories [["jitpack" "https://jitpack.io"]]
Step 2. Add the dependency
dependencies {
implementation 'com.github.htmlunit:htmlunit:2.45.0'
}
dependencies {
implementation("com.github.htmlunit:htmlunit:2.45.0")
}
<dependency>
<groupId>com.github.htmlunit</groupId>
<artifactId>htmlunit</artifactId>
<version>2.45.0</version>
</dependency>
libraryDependencies += "com.github.htmlunit" % "htmlunit" % "2.45.0"
:dependencies [[com.github.htmlunit/htmlunit "2.45.0"]]
Version 4.14.0 / July 30, 2025
:heart: Sponsor
HtmlUnit@mastodon | HtmlUnit@bsky | HtmlUnit@Twitter
HtmlUnit is a "GUI-less browser for Java programs". It models HTML documents and provides an API that allows you to invoke pages, fill out forms, click links, etc... just like you do in your "normal" browser.
It has fairly good JavaScript support (which is constantly improving) and is able to work even with quite complex AJAX libraries, simulating Chrome, Firefox or Internet Explorer depending on the configuration used.
HtmlUnit is typically used for testing purposes or to retrieve information from web sites.
Add to your pom.xml
:
<dependency>
<groupId>org.htmlunit</groupId>
<artifactId>htmlunit</artifactId>
<version>4.14.0</version>
</dependency>
Add to your build.gradle
:
implementation group: 'org.htmlunit', name: 'htmlunit', version: '4.14.0'
You can start here:
HtmlUnit can be used as a Selenium WebDriver-compatible browser through the htmlunit-driver. This integration allows you to use HtmlUnit as a headless browser option within Selenium test suites, providing fast execution without the overhead of launching a full browser instance.
Please have a look at the HtmlUnit Remote project if you like to use this driver from Selenium 4 Grid.
The htmlunit-jsoup library provides utilities
to bridge the gap between HtmlUnit and jsoup.
The HtmlUnitDOMToJsoupConverter
enables seamless integration between HtmlUnit's comprehensive
browser simulation capabilities and all the jsoup-based libraries,
allowing you to leverage the full ecosystem of jsoup tools
while maintaining HtmlUnit's JavaScript execution and dynamic content handling.
HtmlUnit is used as the underlying "browser" by different Open Source tools like
HtmlUnit is used by many projects for automated web testing
Constantly updating and maintaining the HtmlUnit code base already takes a lot of time.
I would like to make 2 major extensions in the next few months
For doing this I need your sponsoring.
Pull Requests and all other Community Contributions are essential for open source software. Every contribution - from bug reports to feature requests, typos to full new features - are greatly appreciated.
Please try to keep your pull requests small (don't bundle unrelated changes) and try to include test cases.
The latest builds are available from our Jenkins CI build server
Read on if you want to try the latest bleeding-edge snapshot.
Add the snapshot repository and dependency to your pom.xml
:
<!-- ... -->
<repository>
<name>Central Portal Snapshots</name>
<id>central-portal-snapshots</id>
<url>https://central.sonatype.com/repository/maven-snapshots/</url>
<releases>
<enabled>false</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
<!-- ... -->
<dependencies>
<dependency>
<groupId>org.htmlunit</groupId>
<artifactId>htmlunit</artifactId>
<version>4.15.0-SNAPSHOT</version>
</dependency>
<!-- ... -->
</dependencies>
<!-- ... -->
Add the snapshot repository and dependency to your build.gradle
:
repositories {
maven { url "https://central.sonatype.com/repository/maven-snapshots/" }
// ...
}
// ...
dependencies {
implementation group: 'org.htmlunit', name: 'htmlunit', version: '4.15.0-SNAPSHOT'
// ...
}
This project is licensed under the Apache 2.0 License
Checkout these pages on our website for detailed hints about starting with the development: