长话短说我让这个机器人从一个站点下载一些东西并使用selenium连接到该站点。我注意到经过几次尝试后硒真的变慢了。所以我做了一个测试来检查我是否只想象事物。
首先,我存储了长度为10的路径列表,如下所示:
paths = ['p1', 'p2', 'p3', 'p4', 'p5']
然后我创建了一个无限循环,一个计数器和一个这样的时间检测系统:
counter = 0
while True:
counter, path = counter + 1, paths[counter%len(paths)]
now = datetime.now()
driver.get(path)
try:
WebDriverWait(driver, timeout).until(
EC.presence_of_element_located(('id', 'divImage'))
) # search term = (By.CLASS_NAME, 'listing')
except TimeoutException:
# Do some stuff on error
raise
print(f'({counter}): {(dt.now() - now).total_seconds()}')
然后我让它在命令提示符下运行。 PhantomJS实际上大部分时间都非常快。它第一次平均需要5秒,大约在第三次和第四次平均下降到1-2秒,但是在大约第15,25或40次它没有任何地方它会永远挂起而没有减少时间导致它。我检查了这个过程,它占用了0 cpu,网络有时是0mbps或0.1mpbs。
现在我知道这不是一个站点问题,列表中只有10个项目,它第一次连接完全正常(在0-10范围内)。我只能猜测硒有问题。告诉我,如果我疯了吗?