1

ドロップダウンウィンドウ(Java)を処理するためにJavaでHtmlUnitを使用しています。

ユーザーskaffmanが提案するように私は試しました:

WebDriver driver = new HtmlUnitDriver();
driver.get("https://...");
...................... 
WebClient client = new Webclient();
Page page = client.getPage("https://...");
HtmlSelect select = (HtmlSelect) page.getElementById(mySelectId);
HtmlOption option = select.getOptionByValue(desiredOptionValue);
select.setSelectedAttribute(option, true);

getElementByIdを認識しません。EclipseはfindElement(By.id( ""))にswithすることをお勧めします助けてください

4

2 に答える 2

0

コードでは、ローカル変数がPageからの戻り値を含むタイプであると宣言しています。client.getPage("https://...");

通常、ジェネリックインターフェイス(この場合はPage)に向けて開発することをお勧めしますが、ジェネリックインターフェイスにはへのメソッドが含まれていませんgetElementById(...)

コードの4行目を次のように変更してみてください。

HtmlPage page = client.getPage("https://...");

client.getPage("https://...");(によって返されるコンテンツはMimeTypeのものであると想定していますtext/html)。

MimeTypeに応じて、 XmlPageまたはを使用することもできます。XhtmlPage

を介して取得しているのがこれらのいずれでもない場合は、APIの一部としてこれを持たない構造体client.getPage("https://...");を呼び出そうとしないでください。getElementById

于 2013-02-11T03:59:24.073 に答える
0

私は私の大学に同意します。上記のコードは正しいです。JavaScriptが有効になっていることを確認してください。有効にしないと、HtmlUnitで問題が発生します。

driver = new HtmlUnitDriver(); 
((HtmlUnitDriver) driver).setJavascriptEnabled(true);
于 2013-03-18T03:24:11.127 に答える