我是新用户python 3
。
我有一个通过python 3进行的项目网络抓取,我必须等到登录到web目标后的时间是08:22:00 PM。
我有项目,没有任何问题,但我希望导入只等到特定时间再继续。
您有任何想法,或者您能告诉我任何有关该代码的代码,例如:
WebDriverWait(driver, 10).until() # for example time=08:22:00 pm continue
感谢
答案 0 :(得分:1)
如果查看WebDriverWait
的API文档,则定义为:
class selenium.webdriver.support.wait.WebDriverWait(driver, timeout, poll_frequency=0.5, ignored_exceptions=None)
Constructor, takes a WebDriver instance and timeout in seconds.
此外,直到方法定义为:
until(method, message='')
Calls the method provided with the driver as an argument until the return value is not False.
因此 WebDriverWait
构造函数和 until
方法都与 WebDriver
实例相关联广泛用于与浏览器客户端进行通信。因此, WebDriver
可能无法帮助您。
说过Python
可以获得不同的解决方案。
您可以在一个简单的循环中将 Python
的time和datetime模块导入sleep()
,如下所示:
import datetime
import time
# datetime(year, month, day[, hour[, minute[, second[, microsecond[,tzinfo]]]]])
# The year, month and day arguments are required. tzinfo may be None.
target_time = datetime.datetime(2018, 1, 23, 13, 2, 00) # 13:02 pm on 23 January 2018
while datetime.datetime.now() < target_time:
time.sleep(10)
print("It is 13:02 pm, 2018. Resuming Test Execution")
您可以从 Python
的Timer模块中导入threading对象,以引导timer
,如下所示:
from threading import Timer
def hello():
print("Hello World")
t = Timer(10.0, hello)
t.start() # after 30 seconds, "Hello World" will be printed
您还可以使用事件调度程序类sched
来实现通用事件调度程序:
class sched.scheduler(timefunc=time.monotonic, delayfunc=time.sleep)