私は電子商取引アプリケーションをテストするためにSeleniumを使用しています。リストのページでカテゴリを選択する際にリストされたアイテムを、データベース内のアイテムと照合する必要があります。そこで私はセレンを使ってページにアクセスし、ページソースをテキストファイルに保存しています。後でHTMLCleanerとJSoupを使ってこのテキストファイルを解析し、DBで検証したいフィールドを取得します。javaでのHTMLの保存と解析中に特殊文字と記号が発生する
しかし、ページに記載されている製品の中には、™、®などの特殊文字が使用されており、正しく保存/検索されずに疑問符で表示されることに気付きました。ストリームライター用エンコーディング定義ファイル
Document htmlFile = Jsoup.parse(fileSavedPreviously,"ISO-8859-1");
TagNode tagNode = new HtmlCleaner().clean(fileSavedPreviously);
try {
org.w3c.dom.Document doc = new DomSerializer(new CleanerProperties())
.createDOM(tagNode);
} catch (ParserConfigurationException e) {
e.printStackTrace();
}
//rest of the parsing....
使用しているエンコーディングが正しくない可能性があります。 HTTPヘッダーから取得する必要があります。 –