使用selenium / python监控实时时钟

时间:2018-06-01 00:48:00

标签: python selenium

我正在编写一个selenium脚本,以便在一天的特定时间执行表单填充。

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

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

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

我要做的是监控网站上的实时时钟以及何时达到某个时间执行操作 - 我正在考虑使用&#39; while循环&#39;。

类似的东西:

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

我似乎无法将时钟时间转换为变量来监控此时。在我得到它之后,我确定我可以让while循环工作。

感谢您的帮助!

2 个答案:

答案 0 :(得分:1)

在while循环中,你必须得到包含时间的跨度,例如像这样。

time_element = driver.find_elements_by_class_name("jquery_server_clock");

然后你可以把时间作为一个字符串

time_element.get_attribute('text')

然后你可以将它转换为DateTime对象,然后检查时间是否大于或等于6点的DateTime。

答案 1 :(得分:0)

根据您提供的 HTML ,监控网站上的实时时钟并在特定时间执行@Tests,例如 6:00:00 PM 您可以使用以下解决方案:

myElem = driver.find_element_by_xpath("//span[contains(.,'The Time is:')]").get_attribute("innerHTML")
if "6:00:00 PM" in myElem
    driver.find_element_by_name("submit").click()