Selenium Web Driver пытается найти элемент в выпадающем списке
Я пытаюсь автоматизировать в Selenium Web Driver, используя C#, и я работаю с проблемой, где я пытаюсь выбрать элемент в раскрывающемся списке. Но это не обычный выпадающий список, и я не могу выбрать конкретный элемент из списка. Я могу открыть раскрывающийся список, но когда я пытаюсь отправить текст в поле поиска, он говорит: "элемент не виден". Я также пытался найти элемент в раскрывающемся списке, но до сих пор не могу найти его, чтобы найти вариант. Ниже мой код и HTML-код для выпадающего списка.
Любая помощь высоко ценится
var ChooseAsset = driver.FindElementById("uiAssetIdDdl_chosen");
ChooseAsset.Click();
var SelectAsset = driver.FindElement(By.XPath("//*[contains(., 'Airbus A300-603 [SN: AR-PL-241]')]"));
SelectAsset.Click();
<ul class="chosen-results"><li class="active-result highlighted" data-option-array-index="1" style="">CFM International LEAP-1A26 [SN: ABC123]</li><li class="active-result" data-option-array-index="2" style="">Airbus A300-603 [SN: AR-PL-139]</li><li class="active-result" data-option-array-index="3" style="">Airbus A300-603 [SN: AR-PL-152]</li><li class="active-result" data-option-array-index="4" style="">Airbus A300-603 [SN: AR-PL-241]</li><li class="active-result" data-option-array-index="5" style="">Airbus A300-603 [SN: AR-PL-258]</li><li class="active-result" data-option-array-index="6" style="">Airbus A300-603 [SN: AR-PL-307]</li><li class="active-result" data-option-array-index="7" style="">Airbus A300-603 [SN: AR-PL-309]</li><li class="active-result" data-option-array-index="8" style="">Airbus A300-603 [SN: AR-PL-369]</li><li class="active-result" data-option-array-index="9" style="">Airbus A300-603 [SN: AR-PL-38]</li><li class="active-result" data-option-array-index="10" style="">Airbus A300-603 [SN: AR-PL-458]</li><li class="active-result" data-option-array-index="11" style="">Airbus A300-603 [SN: AR-PL-502]</li><li class="active-result" data-option-array-index="12" style="">Airbus A300-603 [SN: AR-PL-608]</li><li class="active-result" data-option-array-index="13" style="">Airbus A300-603 [SN: AR-PL-62]</li><li class="active-result" data-option-array-index="14" style="">Airbus A300-603 [SN: AR-PL-655]</li><li class="active-result" data-option-array-index="15" style="">Airbus A300-603 [SN: AR-PL-664]</li><li class="active-result" data-option-array-index="16" style="">Airbus A300-603 [SN: AR-PL-694]</li><li class="active-result" data-option-array-index="17" style="">Airbus A300-603 [SN: AR-PL-749]</li><li class="active-result" data-option-array-index="18" style="">Airbus A300-603 [SN: AR-PL-816]</li><li class="active-result" data-option-array-index="19" style="">Airbus A300-603 [SN: AR-PL-875]</li><li class="active-result" data-option-array-index="20" style="">Airbus A300-603 [SN: AR-PL-888]</li><li class="active-result" data-option-array-index="21" style="">Airbus A300-603 [SN: AR-PL-892]</li></ul>
2 ответа
Решение
Вы можете попробовать ниже xpath
*//li[@class='active-result'][contains(text(),'Airbus A300-603 [SN: AR-PL-888')]*
или если он не работает, вы можете закрепить его через UL
var SelectAssets = driver.FindElements(By.XPath("//ul[@class="chosen-results"]/li[]"));
for(int i=0;i<SelectAssets.length;i++){
if(SelectAssets[i].getText()="Airbus A300-603 [SN: AR-PL-888")
SelectAssets[i].click();
break;
}
Попробуйте это xpaths
Выбрать Airbus A300-603 [SN: AR-PL-892]
//li[@class='active-result'][contains(text(),'Airbus A300-603 [SN: AR-PL-888')]
Выберите Airbus A300-603 [SN: AR-PL-875]
//li[@class='active-result'][contains(text(),'Airbus A300-603 [SN: AR-PL-875')]