首页 > 解决方案 > 使用 selenium / python 监控实时时钟

问题描述

我正在编写一个硒脚本来在一天中的某个时间执行表单填写。

我目前使用 Python 的 schedule 模块安排了表单填充,但这使用了我的系统时间。问题是我的系统时间与网站服务器时间不同步。幸运的是,该网站的页面上有一个实时时钟。

我检查了时钟元素,如下所示:

<span>The Time is: <b class="jquery_server_clock" dfc="pv">5:24:59 PM</b></span>

我想做的是监控网站上的实时时钟,当它到达某个时间时执行一个动作——我在想一个“while循环”。

就像是:

while true:
    t = "jquery_server_clock"
    if t = "6:00:00 PM"
        driver.find_element_by_name("submit").click()

此时我似乎无法将时钟时间转换为要监视的变量。在我知道之后,我确信我可以让 while 循环正常工作。

感谢您的帮助!

标签: pythonselenium

解决方案


在 while 循环中,您将不得不获取包含时间的跨度,例如像这样。

time_element = driver.find_elements_by_class_name("jquery_server_clock");

然后您可以将时间作为字符串

time_element.get_attribute('text')

然后您可以将其转换为 DateTime 对象,然后简单地检查时间是否大于或等于 6 点钟的 DateTime。


推荐阅读