如何使用Python填充使用下拉日历选择日期的web表单?

2024-03-29 12:25:33 发布

您现在位置:Python中文网/ 问答频道 /正文

现在我正在填写this表格。你知道吗

我使用selenium来选择这个带有下拉日历的输入框。 当我检查输入框时,我得到:

*The html of the date form box*

当我尝试通过以下方法之一选择它时:

form_element = browser.find_element_by_name('date')
form_element = browser.find_element_by_xpath("//input[@name='date']")
form_element = browser.find_element_by_xpath("//input[@type='date']")

我通过以下“找不到元素:”消息之一获得此错误:

selenium.common.exceptions.NoSuchElementException: Message: no such element: 
Unable to locate element: {"method":"name","selector":"date"}
Unable to locate element: "method":"xpath","selector":"//input[@name='date']"}
{"method":"name","selector":"date"}

我做错什么了?还有什么我应该选择的吗?或者有别的方法吗?硒有可能吗?如果没有,我怎么填这些表格?你知道吗


Tags: 方法namebrowserforminputdatebyselenium
1条回答
网友
1楼 · 发布于 2024-03-29 12:25:33

与表单交互的基本思想是选择表单元素(按id、按名称、按类),激活编辑模式(通过模拟单击或返回键),在其中写入,然后移动到下一个元素。你知道吗

文件: http://selenium-python.readthedocs.io/locating-elements.html

特别是要编辑日期字段,您可以选择它,激活编辑并逐个编译日期组件(日、月、年)。你知道吗

date= driver.find_element_by_name("date")
date.send_keys(Keys.RETURN)
date.send_keys("10")
date.send_keys("10")
date.send_keys("2016")

对于您的特定网页,这里是所有的工作代码。你知道吗

driver = webdriver.Chrome()
driver.get("http://frontop.ca/rtm/eglintongis/dataenterpage.html?pj=MD")

date= driver.find_element_by_name("date")
date.send_keys(Keys.RETURN)
date.send_keys("10")
date.send_keys("10")
date.send_keys("2016")

time= driver.find_element_by_name("time")
time.send_keys(Keys.RETURN)
time.send_keys("15:00")
time.send_keys(Keys.RETURN)

temperature= driver.find_element_by_name("temp")
temperature.send_keys(Keys.RETURN)
temperature.send_keys("5")

operator= driver.find_element_by_name("oper")
operator.send_keys("BlaBLABLA")

select= driver.find_element_by_name("itemslt")
select.click()

date= driver.find_element_by_name("reading")
date.send_keys(Keys.RETURN)
date.send_keys("BlaBLABLA")

submit= driver.find_element_by_name("sltdate")
submit.click()

相关问题 更多 >