У меня странная проблема. У меня есть не выбрать выпадающий с Id, как показано ниже. Нет тега select, который я могу видеть в коде для этого поля, просто тег ввода, и я не вижу текст, содержащийся в раскрывающемся списке в DOM после выбора значения. StaffSoCategory - это текстовое поле, SelectStaffSoCategory - значок для стрелки раскрывающегося списка, а StaffSoCategoryValue Я полагаю, что для отображаемых значений.
<input type="text" id="StaffSoCategory" style="width: 126px; font-weight: lighter; border: 1px solid gray; height: 25px; float: left; font-size: 12px; color: black; font-family: Arial; background-color: white;" readonly="readonly" class="ui-autocomplete-input" autocomplete="off" disabled="disabled">
<span role="status" aria-live="polite" class="ui-helper-hidden-accessible">4 results are available, use up and down arrow keys to navigate.</span>
<div id="SelectStaffSoCategory" tabindex="0" style="border-style: solid; border-width: 1px 1px 1px 0px; border-color: gray; width: 22px; height: 29px; background-position: center; cursor: pointer; background-image: url('Images/dropdown.png'); background-repeat: no-repeat; float: left; margin-left: 0px; "></div>
***<input id="StaffSoCategoryValue" type="hidden" value="">***
<ul class="ui-autocomplete ui-menu ui-widget ui-widget-content ui-corner-all" id="ui-id-4" tabindex="0" aria-disabled="false" style="z-index: 1; display: none; top: 584px; left: 829px; width: 148px;"></ul>
Как только я выбираю первое раскрывающееся значение (видимый текст в раскрывающемся списке «Подтверждено»), тогда значение входит в тег, но не в видимый текст значения, которое я вижу, что-то вроде ниже
<input id="StaffSoCategoryValue" type="hidden" value="BCK-Yes">
Есть ли способ щелкнуть первое значение в раскрывающемся списке, которое я пробовал с этим значением "BCK-Yes", и он сказал, что элемент не виден. Я попытался выбрать вход по идентификатору, а затем попытался нажать клавиши и ввести клавиши, которые тоже не работали.
Код, который я пытаюсь это
JavascriptExecutor js = (JavascriptExecutor)driver;
WebElement revenuePotential = driver.findElement(By.id("SelectStaffSoCategory")); revenuePotential.click();
WebElement revenuePotentialValue = driver.findElement(By.id("StaffSoCategoryValue"));
js.executeScript("arguments[0].click();", revenuePotentialValue);
Ошибки консоли, которые я получаю:
StaffSoJsFun.js?v=2019020100000:1 Uncaught TypeError: $(...).autocomplete is not a function
at HTMLDivElement.<anonymous> (StaffSoJsFun.js?v=2019020100000:1)
at HTMLDivElement.dispatch (jquery-2.0.0.js?v=2019020100000:25)
at HTMLDivElement.y.handle (jquery-2.0.0.js?v=2019020100000:25)
(anonymous) @ StaffSoJsFun.js?v=2019020100000:1
dispatch @ jquery-2.0.0.js?v=2019020100000:25
y.handle @ jquery-2.0.0.js?v=2019020100000:25
Access to XMLHttpRequest at '' from origin 'xx.com' has been blocked by CORS policy: The value of the 'Access-Control-Allow-Origin' header in the response must not be the wildcard '*' when the request's credentials mode is 'include'. The credentials mode of requests initiated by the XMLHttpRequest is controlled by the withCredentials attribute.