我正在编写一个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循环工作。
感谢您的帮助!
答案 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()