簡體   English   中英

Selenium 未能使用 Python 在 Datepicker 字段上發送_keys

[英]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 日期選擇器

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>字段,但單擊它會調用基於jQuerydatepicker class ,它不接受任何文本輸入。 因此send_keys()無法將任何字符序列發送到<input>字段。

暫無
暫無

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

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