задайте текст входного элемента с помощью python selenium

#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