通常のSelenium APIメソッドでは機能しない難しい選択では問題があります。だから、私はJavascriptエグゼキュータを使用する必要があります。私はこれまでのところ、ドロップダウンからオプションを正しく選択することができません=どこからですか?どのような目的地ですか?Javascript Executorを使用してSelectタグから選択する
以下のコードでは、[検索]をクリックするとページが更新されるようです。おそらく、JSに渡されたCSSセレクターが間違っていますか?
テスト中のWebサイトは、次のとおりです。https://club18-30.com/club18-30
private String whereFromText = "LGW"
private String whereToText = "IBZ"
public void setDepartureAirport(String whereFromText)
selectOption(whereFromText);
}
public void setDestinationAirport(String whereToText) {
selectOption(whereToText);
}
public void submitSearchRequest() throws InterruptedException {
By searchButtonLocator = By.xpath(searchButtonLocatorPath);
click(searchButtonLocator);
By searchResultsLocator = By.xpath(searchResultsLocatorPath);
waitForIsDisplayed(searchResultsLocator, 180);
}
public void selectOption(String option) {
String script =
"function selectOption(s) {\r\n" +
" var sel = document.querySelector('.custom-select-options');\r\n" +
" for (var i = 0; i < sel.options.length; i++)\r\n" +
" {\r\n" +
" if (sel.options[i].text.indexOf(s) > -1)\r\n" +
" {\r\n" +
" sel.options[i].selected = true;\r\n" +
" break;\r\n" +
" }\r\n" +
" }\r\n" +
"}\r\n" +
"return selectOption('" + option + "');";
javaScriptExecutor(script);
}
アプリケーションが資格情報を要求しています。信用証明書を提供したり、HTMLを教えてください。 – Buaban
@Buaban - クレデンシャルはありませんか?資格情報がどこにも表示されません – Steerpike
資格情報を保存することができます。また、マシンが同じドメインにあるため、自動的に認証される可能性があります。 – Buaban