#python #selenium
#python #selenium
Вопрос:
привет, у меня есть элемент, подобный приведенному ниже:
<input id="txt_search" class="search-box tp-co-1 tp-pa-rl-5 tp-re tp-bo-bo" type="text" placeholder="جستجوی سهم" onmouseup="this.select();" autocomplete="off">
Я хочу установить текст этого элемента на что-то
поэтому я использую приведенный ниже код
element = WebDriverWait(browser, 10).until(
EC.presence_of_element_located((By.ID, "txt_search")))
browser.execute_script("arguments[0].setAttribute('value','something')", element)
итак, тогда должен появиться выпадающий список, как показано ниже, но это не так
<div id="list_dropdown"><div isin="IRO1PIAZ0001" symbol="غاذر1 - کشتوصنعتپیاذر"><span></span><span style="color: red;">غاذر</span><span>1 - کشتوصنعتپیاذر</span></div></div>
итак, я должен выбрать первый элемент этого выпадающего списка
это то, что я хочу
Ответ №1:
У вас есть большая часть кода, который вам нужен, но нет никаких причин использовать browser.execute_script
его, если только стандартная element.send_keys
функция не работает должным образом. Используйте приведенный ниже код, который использует ваш существующий код и send_keys
функцию:
element = WebDriverWait(browser, 10).until(EC.element_to_be_clickable((By.ID, "txt_search")))
element.send_keys("something")
Комментарии:
1. привет, спасибо, он возвращает ошибку с надписью «элемент не взаимодействует» @Christine
2. когда я что-то пишу в нем, появляется выпадающий список, и я выбираю первый его элемент
3. Попробуйте изменить
presence_of_element_located
наelement_to_be_clickable
— обновленный мой пример, чтобы отразить это.4. спасибо, но он возвращает эту ошибку, вызывающую исключение TimeoutException (сообщение, экран, трассировка стека)@Christine
5. привет, Мартин, ты можешь мне помочь? @MartijnPieters