我是selenium的新手,我正在尝试将值传递给表单。虽然我能够在普通文本框中传递值,但我无法在onclick datepicker函数中成功。这是代码。
import urllib
from selenium import webdriver
from selenium.webdriver.support.ui import Select
from selenium.webdriver.common.keys import Keys
driver = webdriver.PhantomJS(executable_path="C://Users//phantomjs//bin//phantomjs.exe")
driver.get('https://enquiry.icegate.gov.in/enquiryatices/sbTrack')
select = Select(driver.find_element_by_name('sbTrack_location'))
select.select_by_value("MUNDRA SEA (INMUN1)")
sb_no = driver.find_element_by_name("SB_NO")
sb_no.send_keys(7353156)
sb_dt = driver.find_element_by_name("SB_DT")
sb_dt.send_keys("2017/07/14")
driver.save_screenshot("test1_scr.png")
我无法使用here的readonly input
属性标记密钥。
<input type="text" name="SB_DT" value="" readonly="readonly" id="sbDATE">
答案 0 :(得分:0)
在给定的Website上选择今天的日期,例如 2018/03/26 您可以使用以下代码行:
driver.find_element_by_xpath("//img[@src='/enquiryatices/image/Dateicon.gif']").click()
driver.find_element_by_xpath("//table[@class='dpTable']//td/div[@class='dpDayHighlight']").click()
根据您的评论传递自定义日期,例如 2017/07/14 您必须删除 readonly =“readonly”属性,然后将日期作为文本发送如下:
sb_dt = driver.find_element_by_xpath("//input[@id='sbDATE']")
driver.execute_script("arguments[0].removeAttribute('readonly')", sb_dt);
sb_dt.send_keys("2017/07/14")