Отображаемые элементы не являются настоящими Select
элементами. Это просто <ul
с кучей ссылок, скрытых по умолчанию. Поэтому я бы предложил что-то вроде этого:
- Выберите текущую ссылку сортировки (
<a
), чтобы открыть список других параметров. Проще всего сделать это по тексту ссылки. Селекторы типа ul[1]/li/div/
просто сбивают с толку и не нужны. Обратите внимание, что в зависимости от того, что предшествует этой операции, вам также может понадобиться эта ссылка для отображения.
- Выберите новую опцию, как только она появится (то есть дождитесь ее, затем нажмите).
например:.
from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
wait = WebDriverWait(browser, 10)
# click link to display all options
sortdown = browser.find_element_by_link_text('Best Match')
sortdown.click()
# select a new option
lowestprice = wait.until(EC.presence_of_element_located((By.LINK_TEXT, 'Lowest price + P&P')))
lowestprice.click()