jeffcjohnson · GitHub

In 2.57.0, asNormalizedText() is missing linefeeds on some block layout tags if CSS is disabled, even when no CSS is present in the HTML.

============= webClient.options.isCssEnabled = true =============
p
br
p
p
br
br
br
p
============= webClient.options.isCssEnabled = false =============
p
br p p
br
br
br p
import com.gargoylesoftware.htmlunit.WebClient
import com.gargoylesoftware.htmlunit.html.HtmlPage
fun testAsNormalizedTextWithCssDisabled() {
    val content = """
        <div>
            <p>p
                <br>br
            </p>
            <p>p</p>
            <p>p
                <br>br
                <br>br
                <br>br
            </p>
            <p>p</p>
        </div>
    """.trimIndent()
    val webClient = WebClient()
    webClient.loadHtmlCodeIntoCurrentWindow(content)
    val page = webClient.currentWindow.enclosedPage as HtmlPage
    println("============= webClient.options.isCssEnabled = true =============")
    webClient.options.isCssEnabled = true  // default is true
    println(page.asNormalizedText())
    println("============= webClient.options.isCssEnabled = false =============")
    webClient.options.isCssEnabled = false
    println(page.asNormalizedText())
}
fun main() {
    testAsNormalizedTextWithCssDisabled()
}

PS: thanks for HtmlUnit, it is awesome!

Read the original on github.com ↗