[英]Unable to send date as text to datepicker field using send_keys when max attribute is set using ChromeDriver and Selenium
[英]Selenium failed to send_keys on Datepicker field using Python
當我想將_keys 發送到只讀日期選擇器時,我無法輸入日期。 這是我嘗試刪除 readonly first、clear 和 send_keys 的鏈接。
url="https://epaper.oeeee.com/epaper/A/html/2018-02/06/node_2637.htm"
driver.get(url)
d=driver.find_element_by_xpath("/html/body/div[1]/div/div[2]/input")
driver.execute_script('arguments[0].removeAttribute(\"readonly\")', d)
driver.find_element_by_xpath('/html/body/div[1]/div/div[2]/input').clear()
d.send_keys('2018-02-02')
d.send_keys(Keys.RETURN)
誰能告訴我為什么?
非常感謝
首先:我不認為它是只讀的,我可以定期單擊它,而無需更改任何內容。 那么我認為您無法根據需要清除並重新設置它。 但是有很多已解決的日期選擇器問題,我將在下面將一些與它們各自的解決方案聯系起來:
如何使用 setAttribute 方法和 Selenium 和 Python 更改 Datepicker 隱藏元素的日期?
Selenium 日歷選擇器:我可以手動單擊,但 Selenium 無法單擊
如何使用 selenium python 在日期選擇器上單擊活動日期?
jQuery Datepicker綁定到標准表單
<input>
字段。 專注於輸入(單擊或使用 Tab 鍵)以在小疊加層中打開交互式日歷。 選擇一個日期,單擊頁面上的其他位置(模糊輸入),或按 Esc 鍵關閉。 如果選擇了日期,則反饋顯示為輸入值。
如果您觀察web 應用程序的HTML DOM ,它使用jQuery
"jquery": "/epaper/js/lib/jquery/jquery/1.10.1/jquery.js"
現在根據WebElement的 HTML :
<input type="text" class="datepicker" readonly="readonly" data-date="2018-02-04">
雖然 datepicker 字段是一個<input>
字段,但單擊它會調用基於jQuery
的datepicker
class ,它不接受任何文本輸入。 因此send_keys()
無法將任何字符序列發送到<input>
字段。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.