我必须抓取该网站,为此,我首先需要在字段中输入数据。我正在使用Selenium库执行任务。
页面源代码包含以下代码,我想在“日期”输入框中输入日期。
<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
模块进行鼠标操作,但“日期”输入框不可单击。
我在这里做错什么了吗?
答案 0 :(得分:0)
我按照您的方式尝试了,对我有用。不知道为什么它不适合您。
这是我提供的代码:
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')