Я хочу автоматизировать веб-страницу с двумя выпадающими списками (штат и соответствующие районы). При выборе значения в первом раскрывающемся меню (раскрывающемся списке состояний) второе раскрывающееся меню (районы) обновляется соответствующими значениями районов соответствующего штата. Однако, когда я пытаюсь автоматизировать это, во втором цикле второе раскрывающееся меню не обновляется и по-прежнему отображает ранее выбранные значения. Я не могу понять, почему раскрывающийся список не может динамически обновляться, когда в первом раскрывающемся списке было выбрано новое значение, и как я могу заставить его работать
Я пробовал следующие методы в Python:
driver.implicitly_wait(2000)
driver.sleep(10)
Однако ни один из них не работает, и проблема сохраняется.
Selenium python code:
statelist=driver.find_element_by_xpath('//*[@id="stateId"]').click()
state=Select(driver.find_element_by_id('stateId'))
stoptions=state.options
for stindex in range(0,len(stoptions)):
state.select_by_index(stindex)
driver.implicitly_wait(3000)
select_district=Select(driver.find_element_by_id('districtId'))
dtoptions=select_district.options
driver.implicitly_wait(2000)
for index in range(0,len(dtoptions)):
select_district.select_by_index(index)
driver.find_element_by_id("searchbutton").click()
HTML код:
Состояние:
<select name="stateId" size="1" onchange="javascript:getDistricts()"
class="selBox" id="stateId"><option value="0">NCDRC</option>
<option value="7">Andaman Nicobar</option>
<option value="16">Andhra Pradesh</option>
<option value="25">Arunachal Pradesh</option>
<option value="5">Assam</option>
<option value="1">Bihar</option>
В зависимости от штата, выбора района:
<select name="districtId" size="1" class="selBoxD" id="districtId"><!--
<option value="-1">Select</option> -->
<option value="0">NCDRC</option></select>
В соответствии с моей логикой, приведенной выше, я должен иметь возможность выбрать состояние, а затем выполнить итерацию по всем его значениям района, затем выбрать второе состояние и выполнить итерацию по всем его значениям района.
Однако, когда я отлаживаю приведенный выше код, код работает нормально, если я не нажимаю кнопку поиска (driver.find_element_by_id ("searchbutton"). Click ()), но завершается ошибкой, когда я нажимаю кнопку поиска. Поскольку для получения ожидаемого результата я должен нажать на кнопку поиска и, следовательно, не могу понять, почему логика не срабатывает при нажатии кнопки поиска.