簡體   English   中英

如何在Python中使用Selenium更改輸入元素中的值?

[英]How to change a value in an input element using Selenium in Python?

我得到了一個輸入元素,需要清除實際值並輸入另一個。

HTML具有以下結構:

<input class="input-mini" type="text" name="daterangepicker_start" value="">

我使用以下代碼查找此元素:

test = browser.find_elements_by_css_selector("input[type='text'][name='daterangepicker_start']")

然后我得到了7個元素的列表,我想第一個元素就是一個。 因此,嘗試清除該字段並在發送新值之后如下:

test[0].clear()
test[0].send_keys('02/07/2019')

但是,對於這兩個代碼,我得到了相同的錯誤:

ElementNotInteractableException: element not interactable
  (Session info: chrome=76.0.3809.87)

使用WebDriverWait

test = WebDriverWait(driver, 5).until(EC.presence_of_all_elements_located((By.CSS_SELECTOR , "input[type='text'][name='daterangepicker_start']")))
test[0].clear()
test[0].send_keys('02/07/2019')

有時,該元素可以位於被認為是隱藏<div下,我之前已經經歷過,有時您可以嘗試.click()使該元素可交互 ,如下所示:

test[0].click()
test[0].clear()
test[0].send_keys('02/07/2019')

如果以上不允許元素更改為可交互狀態,請嘗試使用javascript更改值:

browser.execute_script("arguments[0].value = arguments[1]", test[0], "02/07/2019")

我還建議您瀏覽一下元素列表,弄清楚列表中的哪個元素實際上是您要與之交互的元素,以防萬一它不是真正的test[0]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM