xialinren 发表于 2023-2-18 13:01:02

selenium输入日期时的问题

在使用selenium抓取数据时,使用的浏览器是Chrome,需要给定日期范围,如图,在输入年后,不会自动跳到月,导致无法完成日期的输入,尝试在其他电脑上运行程序,光标在输入“年”后,会自动跳到月,之后会跳到日,最后给定日期范围。

大神们帮忙看看,是浏览器设置问题,还是其他什么问题?两台电脑上运行的代码一样。

xialinren 发表于 2023-2-18 13:06:02

在输入年后,不会自动跳到月,导致无法完成日期的输入,在输入年之后,需要按一个->方向键,光标才能跳到月份,输入月之后,再输入->才能跳到日,其他电脑没有这个问题。

isdkz 发表于 2023-2-18 13:20:17

xialinren 发表于 2023-2-18 13:06
在输入年后,不会自动跳到月,导致无法完成日期的输入,在输入年之后,需要按一个->方向键,光标才能跳到月 ...

如果 click 等操作过于复杂的话,建议你用 selenium 执行 js 来修改他的值

xialinren 发表于 2023-2-19 20:52:10

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)

isdkz 发表于 2023-2-19 20:56:01

xialinren 发表于 2023-2-19 20:52
谢谢你的答复,对js不了解,我用的是下面这个code, StartDate和EndDate是变量,不是格固定的值,格式是Y ...

你的 StartDate 是怎么得来的?

xialinren 发表于 2023-2-19 21:13:50

isdkz 发表于 2023-2-19 20:56
你的 StartDate 是怎么得来的?

把日期放在excel中,让用户输入,比如:2023-01-01,我前面用print打印出来,显示是对的,而且是string格式

isdkz 发表于 2023-2-19 21:24:58

xialinren 发表于 2023-2-19 21:13
把日期放在excel中,让用户输入,比如:2023-01-01,我前面用print打印出来,显示是对的,而且是string格 ...

那不应该呀,既然都是一样的格式为什么一个可以一个不可以,是不是有个别的格式不对,比如你把表头也搞进去了

wp231957 发表于 2023-2-20 09:13:39

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)

xialinren 发表于 2023-2-20 09:56:17

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]
查看完整版本: selenium输入日期时的问题