Я только начал использовать Selenium с Python на сервере Ubuntu.Я открываю драйвер следующим образом:
options = Options()
options.headless = True
driver = webdriver.Firefox(options=options)
Мне нужно заполнить значение в поле, однако это поле нельзя редактировать напрямую.В браузере мне нужно щелкнуть раскрывающийся список, чтобы он вызывал некоторые xhr-запросы для его заполнения (# select2-result-label-37 - это идентификатор нужной мне опции).Раскрывающийся список - это div со списком неупорядоченных номеров, который заполнен ответом на запрос.
html элемента раскрывающегося списка:
<div class="select2-container size_selection" id="s2id_ad_dimensions">
<a href="javascript:void(0)" class="select2-choice select2-default" tabindex="-1"> <span class="select2-chosen" id="select2-chosen-1">Select Dimensions</span>
<abbr class="select2-search-choice-close"></abbr>
<span class="select2-arrow" role="presentation">
<b role="presentation"></b>
</span>
</a>
<label for="s2id_autogen1" class="select2-offscreen right inline">Ad Dimensions</label>
<input class="select2-focusser select2-offscreen" type="text" aria-haspopup="true" role="button" aria-labelledby="select2-chosen-1" id="s2id_autogen1">
</div>
При тестировании в консоли браузера я могувыберите элемент следующим образом:
document.querySelector('#s2id_ad_dimensions > a');
Когда я нажимаю «href» в браузере, он начинает загрузку выпадающего списка, затем, после его загрузки, я могу щелкнуть один из параметров и заполнить его.Но когда я пытаюсь:
document.querySelector('#s2id_ad_dimensions > a').click();
Он не делает никаких запросов или с Selenium:
driver.find_element(By.CSS_SELECTOR, '#s2id_ad_dimensions > a').click()
WebDriverWait(driver,20).until(EC.element_to_be_clickable((By.CSS_SELECTOR,\
'#select2-result-label-37'))).click()
Возвращает
raise TimeoutException(message, screen, stacktrace)
selenium.common.exceptions.TimeoutException: Message:
Что я делаюнеправильно?