Нет атрибута значения в поле ввода DatePicker - PullRequest
0 голосов
/ 12 января 2019

Я должен очистить этот сайт, и для этого сначала мне нужно ввести данные в поля. Я использую библиотеку 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, но поле ввода даты не активируется.

Есть ли что-то, что я делаю здесь неправильно?

1 Ответ

0 голосов
/ 12 января 2019

Я попробовал это по-вашему, и у меня это сработало. Не уверен, почему он не работает с тобой.

Вот код, который я использовал с тем, что вы предоставили:

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')
...