【问题标题】:Call onclick datepicker function python selenium调用 onclick datepicker 函数 python selenium
【发布时间】:2018-03-26 10:58:28
【问题描述】:

我是 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">

【问题讨论】:

    标签: javascript python selenium selenium-webdriver web-scraping


    【解决方案1】:

    在给定的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")
    

    【讨论】:

    • 我怎样才能通过我自己的日期说“2017/07/14”@DebanjanB
    • 查看我的答案更新并让我知道状态。
    • 太棒了!它正在工作,还有一个疑问我如何提交表单并获得结果页面代码
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-01-02
    • 1970-01-01
    • 2021-04-07
    • 1970-01-01
    • 1970-01-01
    • 2023-01-29
    • 2017-08-25
    相关资源
    最近更新 更多