Я пытаюсь щелкнуть выпадающий вариант, который имеет значение, заканчивающееся на определенную строку.python selenium select dropdown option with value matching regex
Я знаю, как это сделать, когда у меня есть полная ценность, а не только частичное совпадение строк.
Пожалуйста, помогите!
<select name="dropdown_selected_size_name" autocomplete="off" data-a-native-class="twister-dropdown-highlight" data-a-touch-header="Size" id="native_dropdown_selected_size_name" class="a-native-dropdown twister-dropdown-highlight">
<option value="0,B0019WTTQE" class="dropdownAvailable" data-a-css-class="dropdownAvailable" id="native_size_name_0" data-a-id="size_name_0" data-a-html-content="6 B(M) US">
6 B(M) US
</option>
<option value="1,B0019WO400" class="dropdownAvailable" data-a-css-class="dropdownAvailable" id="native_size_name_1" data-a-id="size_name_1" data-a-html-content="7 B(M) US">
7 B(M) US
</option>
</select>
Создать Выбрать объект:
from selenium import webdriver
from selenium.webdriver.support.select import Select
browser = webdriver.Firefox()
browser.get('http://www.amazon.com/dp/B0019WTTQE')
select = Select(browser.find_element_by_id('native_dropdown_selected_size_name'))
Покушение одно:
select.select_by_value('B0019WTTQE').click();
selenium.common.exceptions.NoSuchElementException: Message: Cannot locate option with value: B0019WTTQE
Покушение два:
select.select_by_value(re.compile(r'B0019WTTQE$')).click();
TypeError: argument of type '_sre.SRE_Pattern' is not iterable
Большое спасибо за подробный ответ. Второе решение дает мне следующую ошибку: AttributeError: выбор экземпляра не имеет атрибута 'find_element_by_css_selector'. Я тоже что-то пробовал по этим строкам с тем же результатом, а также не нашел методов find_element в [docs] (http://selenium-python.readthedocs.org/en/latest/api.html#module-selenium. webdriver.support.select) – Imran
@Имран вы правы, извините, исправлено. – alecxe
Похоже, что ваше исправление не было сохранено? – Imran