selenium输入日期时的问题
在使用selenium抓取数据时,使用的浏览器是Chrome,需要给定日期范围,如图,在输入年后,不会自动跳到月,导致无法完成日期的输入,尝试在其他电脑上运行程序,光标在输入“年”后,会自动跳到月,之后会跳到日,最后给定日期范围。大神们帮忙看看,是浏览器设置问题,还是其他什么问题?两台电脑上运行的代码一样。
在输入年后,不会自动跳到月,导致无法完成日期的输入,在输入年之后,需要按一个->方向键,光标才能跳到月份,输入月之后,再输入->才能跳到日,其他电脑没有这个问题。 xialinren 发表于 2023-2-18 13:06
在输入年后,不会自动跳到月,导致无法完成日期的输入,在输入年之后,需要按一个->方向键,光标才能跳到月 ...
如果 click 等操作过于复杂的话,建议你用 selenium 执行 js 来修改他的值 isdkz 发表于 2023-2-18 13:20
如果 click 等操作过于复杂的话,建议你用 selenium 执行 js 来修改他的值
谢谢你的答复,对js不了解,我用的是下面这个code, StartDate和EndDate是变量,不是格固定的值,格式是YYYY-MM-DD,但是,还是不行,录入不进去,如果直接用js='document.getElementsByName("STARTDATE").value = 2023-01-01' 这到可以,不知道是什么情况?
js='document.getElementsByName("STARTDATE").value = '+StartDate
driver.execute_script(js)
js='document.getElementsByName("ENDDATE").value = '+EndDate
driver.execute_script(js) xialinren 发表于 2023-2-19 20:52
谢谢你的答复,对js不了解,我用的是下面这个code, StartDate和EndDate是变量,不是格固定的值,格式是Y ...
你的 StartDate 是怎么得来的? isdkz 发表于 2023-2-19 20:56
你的 StartDate 是怎么得来的?
把日期放在excel中,让用户输入,比如:2023-01-01,我前面用print打印出来,显示是对的,而且是string格式 xialinren 发表于 2023-2-19 21:13
把日期放在excel中,让用户输入,比如:2023-01-01,我前面用print打印出来,显示是对的,而且是string格 ...
那不应该呀,既然都是一样的格式为什么一个可以一个不可以,是不是有个别的格式不对,比如你把表头也搞进去了
xialinren 发表于 2023-2-19 20:52
谢谢你的答复,对js不了解,我用的是下面这个code, StartDate和EndDate是变量,不是格固定的值,格式是Y ...
需要引号包裹,请注意 注释语句和非注释语句的区别
da="2023-06-06"
#js='document.getElementById("rq").value='+'"'+da+'"'
js='document.getElementById("rq").value='+da
drv.execute_script(js) wp231957 发表于 2023-2-20 09:13
需要引号包裹,请注意 注释语句和非注释语句的区别
把语句改成:
js='document.getElementsByName("STARTDATE").value = '+'"'+StartDate+'"'
driver.execute_script(js)
js='document.getElementsByName("ENDDATE").value = '+'"'+EndDate+'"'
driver.execute_script(js)
运行程序,如预期,问题解决!
谢谢 wp231957和isdkz!!
页:
[1]