#selenium #selenium-webdriver
Вопрос:
Я столкнулся с проблемой выбора параметров из выпадающего списка в Selenium.
Ниже приведен пример html-списка и поле Dropbox.
lt;li class="MuiButtonBase-root MuiListItem-root MuiMenuItem-root Mui-selected MuiMenuItem-gutters MuiListItem-gutters MuiListItem-button Mui-selected" tabindex="0" role="option" aria-disabled="false" aria-selected="true" data-value="588ad39c8557bd23e3c16059"gt; (public) ISOlt;span class="MuiTouchRipple-root"gt;lt;/spangt;lt;/ligt; lt;li class="MuiButtonBase-root MuiListItem-root MuiMenuItem-root MuiMenuItem-gutters MuiListItem-gutters MuiListItem-button" tabindex="-1" role="option" aria-disabled="false" data-value="611e693ad6018009c8f7c681"gt; (public) public.dwglt;span class="MuiTouchRipple-root"gt;lt;/spangt;lt;/ligt;
Я попробовал это с помощью элемента select, и, к сожалению, класса select нет в моем домашнем коде, поэтому он не работает.
Поэтому я хотел бы проверить, могу ли я в любом случае сделать так, чтобы Dropbox был выбран без использования класса select.
Любая помощь будет оценена по достоинству. Надеюсь, кто-нибудь ответит на этот вопрос.
Примечание: я искал в Google и перепробовал множество решений, и в конце концов ни одно из них не работало.
Комментарии:
1. Вы делаете это на Python ?
Ответ №1:
Класс Selenium Select предназначен для выпадающего списка, построенного с использованием тега Select и Option. htmnl, которым вы поделились, используется li tag
, поэтому он Select
не будет работать.
Чинить :
- Нажмите на выпадающую панель.
- Нажмите на нужную опцию.
Код :
Предполагая, что это на Python, вы могли бы сделать следующее :
WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "XPath of drop down bar"))).click() WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//li[contains(text(),'(public) public.dwg')]"))).click()
Импорт :
from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.common.by import By from selenium.webdriver.support import expected_conditions as EC