Java Selenium / HtmlunitDriver 打开错误的网站

Java Selenium / HtmlunitDriver opens wrong website

我尝试使用 `driver.get(url):

打开一个网站
    driver = new HtmlUnitDriver(BrowserVersion.CHROME);
    driver.setJavascriptEnabled(true);
    driver.setAcceptSslCertificates(true);
    driver.setDownloadImages(true);

    driver.get(<private url>);

但是,URL 包含一个“Ö”,这是一个德语变音符号。 所以驱动程序将 'ö' 替换为 '%D6'

所以它打开了一个错误的站点。

我尝试在 Eclipse 中更改为 UTF-8;没用。

也无法使用 unicode。

有人知道吗?

您的案例适用于 2.27-SNAPSHOT

indexÖ.html:

<body>Ö</body>

Java代码:

    WebDriver driver = new HtmlUnitDriver();
    driver.get("http://localhost:8080/indexÖ.html");
    System.out.println(driver.getPageSource());

输出:

<?xml version="1.0" encoding="ISO-8859-1"?>
<html>
  <head/>
  <body>
    Ã
  </body>
</html>

真实的 Chrome 也显示了这一点。

正如您所说,确保您的所有工作区都采用 UTF-8:

如果你使用的是 maven:

<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>