일반적인 Selenium API 방법으로는 작동하지 않는 까다로운 선택 문제가 있습니다. 그래서 Javascript executor를 사용해야합니다. 지금까지 드롭 다운에서 옵션을 올바르게 선택할 수 없음 = 어디에서 왔습니까? 그리고 어떤 목적지?Javascript Executor를 사용하여 Select 태그에서 선택
아래 코드를 사용하면 '검색'을 클릭하면 페이지가 새로 고쳐집니다. 아마도 JS로 전달 된 CSS 선택기가 잘못 되었습니까? 시험
웹 사이트는 다음과 같습니다 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