首页 > 解决方案 > DatePicker 输入框中没有值属性

问题描述

我必须抓取这个网站,首先我需要在字段中输入数据。我正在使用 Selenium 库来完成这项任务。

http://nhb.gov.in/OnlineClient/categorywiseallvarietyreport.aspx?enc=3ZOO8K5CzcdC/Yq6HcdIxJ4o5jmAcGG5QGUXX3BlAP4=

页面源有以下代码,我想在日期输入框中输入日期。

<div style="float: right;">
  <input name="ctl00$ContentPlaceHolder1$txtdate" type="text" 
id="ctl00_ContentPlaceHolder1_txtdate" style="width:100px;" />
</div>

但是碰巧没有值属性,当我尝试使用该driver.send_keys()方法发送输入时,什么也没有发生。

这是我尝试过的,但它不起作用。

date = driver.find_element_by_id("ctl00_ContentPlaceHolder1_txtdate")
date.send_keys('09/12/2018')

我什至尝试过使用ActionChains模块进行鼠标操作,但日期输入框不可点击。

我在这里做错了什么吗?

标签: seleniumselenium-webdriverweb-scrapingdatepicker

解决方案


我按照你的方法试过了,它对我有用。不知道为什么它不适合你。

这是我与您提供的代码一起使用的代码:

from selenium import webdriver

url = 'http://nhb.gov.in/OnlineClient/categorywiseallvarietyreport.aspx?enc=3ZOO8K5CzcdC/Yq6HcdIxJ4o5jmAcGG5QGUXX3BlAP4='

driver = webdriver.Chrome()
driver.get(url)

date = driver.find_element_by_id("ctl00_ContentPlaceHolder1_txtdate")
date.send_keys('09/12/2018')

它奏效了。

也许,尝试使用.find_element_by_name和使用"ctl00$ContentPlaceHolder1$txtdate"

url = 'http://nhb.gov.in/OnlineClient/categorywiseallvarietyreport.aspx?enc=3ZOO8K5CzcdC/Yq6HcdIxJ4o5jmAcGG5QGUXX3BlAP4='

from selenium import webdriver

driver = webdriver.Chrome()
driver.get(url)
driver.find_element_by_name("ctl00$ContentPlaceHolder1$txtdate").send_keys('09/12/2018')

推荐阅读