网页上的日期输入只允许通过点击日历进行

Oldwang 2020-2-5 3809

合肥社保局的网页上的日期输入只允许通过点击日历进行,比如我要输入2020年2月5日,是不能直接输入的,居然需要进去点年月日。不能通过UB实现自动选择。

不知各位大神有没有什么方法能自动搞定啊?

上传的附件:
最新回复 (35)
  • life 2020-2-5
    2
    设置元素属性试试。如果不能需要用css选择器
  • Oldwang 2020-2-5
    3
    设置元素属性没有搞定。css选择器 是什么东西啊?能否详细告知?感谢大神!
  • life 2020-2-6
    4
    论坛有视频教程,在首页帖子里查看。
  • 苏森 2020-2-11
    5
    同求
  • 小齐_49418 2020-2-19
    6
    求方法,卡在这里了
  • 苏森 2020-2-19
    7
    life 论坛有视频教程,在首页帖子里查看。
    哪个视频教程?我没有找到
  • life 2020-2-20
    8
    https://forum.uibot.com.cn/thread-539.htm
  • 郑豫闽 2020-4-14
    9
    如果元素无法获得,该如何处理
  • 郑豫闽 2020-4-14
    10
    苏森 哪个视频教程?我没有找到
    如果元素无法获得,该如何处理
  • 郑豫闽 2020-4-14
    11
    如果元素无法获得,该如何处理
  • 毛教员 2020-5-21
    12
    我也遇到了这个问题,不知如何解决
  • 毛教员 2020-5-21
    13
    我刚刚无意中搞出来了,先来一个'设置元素属性',选取好目标后,属性名随便取,属性值填入"ant-calendar-range-picker ant-input ant-input-lg",然后在后面来一个'设置元素文本',选取目标,在“写入文本”中填入你要设置的日期,比如"2020-05-21",运行会发现成功了
  • 唐拥 2020-7-1
    14
    但是会造成页面判断这个框为空,没有时间写入。
  • 熊_297601 2020-7-3
    15
    标记,遇到了试试
  • 扬华茂 2020-8-18
    16
    我之前也遇到类似问题,现在解决了,解决办法就是用TAB键,先复制自己要的日期,点日期前面的选择框,再按TAB移到日期那个框,粘贴,把日期粘贴进去
  • hapopije1 2020-9-15
    17
    请问您这个问题解决了吗?
  • 黄子伟 2020-9-27
    18
    毛教员 我刚刚无意中搞出来了,先来一个'设置元素属性',选取好目标后,属性名随便取,属性值填入"ant-calendar-range-picker ant-input ant-input-lg&qu ...
    你的办法试一试,还是不行
  • 隨筆塗鴉 2020-9-28
    19
    界面操作-界面元素-设置元素文本,一般可以填入日期;如果填入的日期在查询时无效,可以再调用鼠标点击两次(先显示再关闭日历),填入的日期就应该有效了。
  • Gateway 2020-12-31
    20
    毛教员 我刚刚无意中搞出来了,先来一个'设置元素属性',选取好目标后,属性名随便取,属性值填入"ant-calendar-range-picker ant-input ant-input-lg&qu ...
    我也遇到这个问题,日历里是不接受输入的,只能选取,正在解决ing。哪位高人已经解决了,请分享。谢谢
  • ZenYinTS 2020-12-31
    21
    song_348945 我也遇到这个问题,日历里是不接受输入的,只能选取,正在解决ing。哪位高人已经解决了,请分享。谢谢
    https://forum.uibot.com.cn/thread-7898.htm
  • 2021-3-24
    22
    song_348945 我也遇到这个问题,日历里是不接受输入的,只能选取,正在解决ing。哪位高人已经解决了,请分享。谢谢
    同问,有解决思路了吗,点击月份啥的也不现实啊
  • 毛子剑 2021-3-24
    23
    有外网地址吗,我试试看
  • 王_376399 2021-10-8
    24
    13楼的方法可以用
  • 剪辑能手 2021-10-25
    25
    13楼牛逼啊
  • 萌新大白熊 2021-10-25
    26
    tab等快捷键键克制一切花里胡哨
  • 李浩_544203 2021-10-30
    27
    学习一下
  • 张波波 2021-10-31
    28

    Rem 抓取第2个日期表格的数据,双重循环所有日期表格的数据,得出昨天所在位置,

    Mouse.Action({"html":{"tagName":"input","attrMap":{"css-selector":"body>div>div>div>div>main>div>div>div>div>div>div>section>span>div>div>div>div>div>input"},"index":0},"wnd":[{"app":"chrome","cls":"Chrome_WidgetWin_1","title":"*"},{"cls":"Chrome_RenderWidgetHostHWND","title":"Chrome Legacy Window"}]},"left","click",10000,{"bContinueOnError":False,"iDelayAfter":300,"iDelayBefore":200,"bSetForeground":True,"sCursorPosition":"Center","iCursorOffsetX":0,"iCursorOffsetY":0,"sKeyModifiers":[],"sSimulate":"uia","bMoveSmoothly":False})

    dTime = Time.Date()

    dTime =dTime-1

    时间=Time.Format(dTime,"d")

    Delay(5000)

    arrayData = UiElement.DataScrap({"html":[{"aaname":"一 二 三 四 五 六 日","idx":1,"tag":"TABLE"}],"wnd":[{"app":"chrome","cls":"Chrome_WidgetWin_1","title":"*"},{"cls":"Chrome_RenderWidgetHostHWND","title":"Chrome Legacy Window"}]},{"Columns":[],"ExtractTable":1},{"objNextLinkElement":"","iMaxNumberOfPage":5,"iMaxNumberOfResult":-1,"iDelayBetweenMS":1000,"bContinueOnError":False})

    y=1

    For Each value1 In arrayData

    For Each value In value1

    If value=时间

    x=y

    a=666

    Break

    Else

    End If

    y=y+1

    Next

    If a=666

    Break

    Else

    End If

    Next

    z=x

    x=x/7

    x = Math.Int(x)

    行数=x+1

    列数=z-x*7

    If 列数=0

    行数=行数-1

    列数="7"

    行数 = CStr(行数)

    列数 = CStr(列数)

    Mouse.Action({"wnd":[{"cls":"Chrome_WidgetWin_1","title":"*","app":"chrome"},{"cls":"Chrome_RenderWidgetHostHWND","title":"Chrome Legacy Window"}],"html":[{"tag":"TABLE","aaname":"一 二 三 四 五 六 日","idx":1},{"tag":"TD","tableRow":行数,"tableCol":列数}]},"left","click",10000,{"bContinueOnError":False,"iDelayAfter":300,"iDelayBefore":200,"bSetForeground":True,"sCursorPosition":"Center","iCursorOffsetX":0,"iCursorOffsetY":0,"sKeyModifiers":[],"sSimulate":"simulate","bMoveSmoothly":False})

    Mouse.Action({"wnd":[{"cls":"Chrome_WidgetWin_1","title":"*","app":"chrome"},{"cls":"Chrome_RenderWidgetHostHWND","title":"Chrome Legacy Window"}],"html":[{"tag":"TABLE","aaname":"一 二 三 四 五 六 日","idx":1},{"tag":"TD","tableRow":行数,"tableCol":列数}]},"left","click",10000,{"bContinueOnError":False,"iDelayAfter":300,"iDelayBefore":200,"bSetForeground":True,"sCursorPosition":"Center","iCursorOffsetX":0,"iCursorOffsetY":0,"sKeyModifiers":[],"sSimulate":"simulate","bMoveSmoothly":False})

    Else

    行数 = CStr(行数)

    列数 = CStr(列数)

    Mouse.Action({"wnd":[{"cls":"Chrome_WidgetWin_1","title":"*","app":"chrome"},{"cls":"Chrome_RenderWidgetHostHWND","title":"Chrome Legacy Window"}],"html":[{"tag":"TABLE","aaname":"一 二 三 四 五 六 日","idx":1},{"tag":"TD","tableRow":行数,"tableCol":列数}]},"left","click",10000,{"bContinueOnError":False,"iDelayAfter":300,"iDelayBefore":200,"bSetForeground":True,"sCursorPosition":"Center","iCursorOffsetX":0,"iCursorOffsetY":0,"sKeyModifiers":[],"sSimulate":"simulate","bMoveSmoothly":False})

    Mouse.Action({"wnd":[{"cls":"Chrome_WidgetWin_1","title":"*","app":"chrome"},{"cls":"Chrome_RenderWidgetHostHWND","title":"Chrome Legacy Window"}],"html":[{"tag":"TABLE","aaname":"一 二 三 四 五 六 日","idx":1},{"tag":"TD","tableRow":行数,"tableCol":列数}]},"left","click",10000,{"bContinueOnError":False,"iDelayAfter":300,"iDelayBefore":200,"bSetForeground":True,"sCursorPosition":"Center","iCursorOffsetX":0,"iCursorOffsetY":0,"sKeyModifiers":[],"sSimulate":"simulate","bMoveSmoothly":False})

    End If


  • 张波波 2021-10-31
    29
    拼多多的选择日期,不能设置元素属性,必须点击的解决方法
  • 飘逸哥 2021-10-31
    30
    按道理一般用正确的日期输入格式都是可以输入的,。是不是格式不对
  • ye_536116 2021-11-3
    31
    13楼的方法提示只支持web页面元素
  • 魏志恒 2022-3-10
    32
    楼主解决了吗
  • 龙星_443768 2022-3-17
    33
    插眼
  • 蒋海广 2022-4-24
    34
    我最后通过坐标计算的方式,用鼠标来进行点击的。 
    先把日期的所有坐标都存入数组(通过计算)
    然后算当月的1号是周 第几天,然后获得1号的坐标位置
    然后再计算日期与1号相差多少天,从而获取日期坐标
  • 张静涛_476745 2022-9-30
    35
    蒋海广 我最后通过坐标计算的方式,用鼠标来进行点击的。 先把日期的所有坐标都存入数组(通过计算) 然后算当月的1号是周 第几天,然后获得1号的坐标位置 然后再计算日期与1号相差多少天,从而获取日期坐标
    兄弟,你这方法太硬核了
  • 蒋海广 2022-9-30
    36
    蒋海广 我最后通过坐标计算的方式,用鼠标来进行点击的。 先把日期的所有坐标都存入数组(通过计算) 然后算当月的1号是周 第几天,然后获得1号的坐标位置 然后再计算日期与1号相差多少天,从而获取日期坐标
    //适用于周日为第一天的日历(如果周一为第一天需调整)
    Function ClickDate(Date)

           //由于页面日历选择限制,只能用鼠标点击的日期,该变量用于存储日期坐标
           DateCoordinate = []
           For y = 0 To 5 step 1
                   For x = 0 To 6 step 1
                           DateCoordinate = push(DateCoordinate, [410+x*37, 456+y*35]) //第一个日期的横坐标,纵坐标,以及横纵间隔
                   Next 
           Next 

           //以下代码是为了获取日期的当月1号是周第几天,及对应的日历坐标
           dTime = Time.DateSerial(Time.Year(Date), Time.Month(Date), 1)
           iRet = Time.WeekDay(dTime)
           log.Info("日期的1号的坐标位置:" & DateCoordinate[iRet-1][0] & "," & DateCoordinate[iRet-1][1])
           //计算日期与1号相差多少天
           DateDiff = Time.DateDiff("d", dTime, Date)
           //鼠标应点击的坐标位置
           MouseCoor = DateCoordinate[DateDiff+iRet-1]
           MouseCoor = push(MouseCoor, DateCoordinate[DateDiff+iRet-1][0])
           MouseCoor = push(MouseCoor, DateCoordinate[DateDiff+iRet-1][1])
           log.Info("应选择的日期坐标位置:    " & MouseCoor[0] & "," & MouseCoor[1])
           Mouse.Move(MouseCoor[0], MouseCoor[1], false, {"iDelayAfter": 300, "iDelayBefore": 200})
           Mouse.Click("left", "click", [], {"iDelayAfter": 1500, "iDelayBefore": 300})

    End Function
返回
发新帖