У меня есть несколько выбора опции, как:Селена выберите опцию
<select id="auto_year" class="element" onchange="loadMakes(this.value);" name="auto_year">
<option value="0000">- Year -</option>
<option value="2014">2014</option>
<option value="2013">2013</option>
<option value="2012">2012</option>
<option value="2011">2011</option>
</select>
<select id="auto_make" class="element" onchange="loadModels(document.getElementById('auto_year').value, this.value);;" name="auto_year">
<option value="0000">- Make-</option>
</select>
Первоначально вариант внутри выберите ид = «auto_make» пуст. Но поскольку я выбираю одну из опций из , выберите id = "auto_year", появится опция. Я сталкиваюсь с проблемой выбора значений. Мой код:
from selenium import webdriver
from bs4 import BeautifulSoup
import re
browser = webdriver.Firefox()
browser.get(certain_url)
html_source = browser.page_source
yearoption_val = browser.find_element_by_id('auto_year')
for yearoption in yearoption_val.find_elements_by_tag_name('option'):
if yearoption.text == '- Year -':
continue
else:
yearoption.click()
itemmake_val = browser.find_element_by_id('auto_make')
for itemmake in itemmake_val.find_elements_by_tag_name('option'):
if (itemmake.text == r'\- Make \(\d+ items\) \-' or '- Model -'):
continue
else:
itemmake.click()
Проблема с кодом он выбирает 2014 и перемещается в 2013, не смотря на опции в ид = auto_make на 2014. Любая помощь или предложения были бы очень полезны.
Вы пробовали вставить небольшой сон после 'yearoption.click()' code? Это позволит убедиться, что метод onclick может выполняться. – Vish
Спальные места никогда не будут мудрыми в сценарии автоматизации и их следует избегать –