HtmlUnit を使用して Web ページからデータを取得しています。Web ページには、同じように見え、同じ src 値を持つ複数の画像がありますが、それぞれに異なる onclick イベントがあり、どの画像がクリックされたかに応じて新しいページに誘導され、データを保存する必要があるのはこの新しいページです。から。onclick イベントの結果を取得するには、画像をループして各画像をクリックする必要があります。現時点では、私が持っているコードは画像をループしていますが、各ファイルには最初の画像の onclick からの出力が含まれています。誰かが私が何か欠けているところを指摘できますか? 私のコードは次のとおりです。ファイル名の customer は、コードの前半で宣言した変数であり、ループごとに変更して、各ファイルに異なる名前を付けます。
DomNodeList<DomElement> iterable2 = page.getElementsByTagName("img");
Iterator<DomElement> i3 = iterable2.iterator();
int i = 0;
while(i3.hasNext())
{
HtmlElement element1 = null;
DomElement anElement = i3.next();
if(anElement instanceof HtmlImage)
{
HtmlImage input = (HtmlImage) anElement;
if(input.getSrcAttribute().equalsIgnoreCase("customise.gif") )
{
element1 = input;
page2 = element1.click();
webClient.waitForBackgroundJavaScript(30000);
String result = page2.asText();
try {
BufferedWriter out = new BufferedWriter(new FileWriter("Filepath//"+customer+i+".txt"));
out.write(result);
out.close();
}
catch (IOException e)
{
System.out.println("Exception ");
}
i++;
}
}
}