我使用Python selenium框架和Chrome webdriver(版本3.4.3)在Linux平台= Linux 3.13.0-24-generic x86_64下使用Chromium Web浏览器58.0.3029.110(64位)多次加载网页。
一开始就可以正常工作。但是,在多次加载网页后,Web浏览器开启缓慢,然后无法打开。我觉得系统也变慢了。
我在这里有两个问题。主要的一个是如何让Chrome浏览器快速开始工作?其次,为什么当我用driver.quit()替换driver.close()时,连续打开web broswer需要花费太多时间?
这是我的python代码
from selenium import webdriver
from selenium.common.exceptions import TimeoutException
import time
Time_Out=60
site="http://www.google.com.au"
def Loading_Webpage(website):
option = webdriver.ChromeOptions()
driver = webdriver.Chrome(chrome_options=option, executable_path="/usr/lib/chromium-browser/chromedriver")
driver.set_page_load_timeout(Time_Out)
try:
driver.get(website)
except TimeoutException:
return 1
driver.close()
raw_input('Start Running')
for i in range(500):
start=time.time()
Loading_Webpage(site)
print i, time.time()-start
答案 0 :(得分:1)
我在Window 10上运行了这个测试变体。这是我的结果。 webdriver的启动变化最大,紧接着是加载页面的时间量。 driver.quit()时间非常稳定。没有内存泄漏(没有镀铬实例)。显然,运行此方法的最快方法是每次导航到页面时不退出驱动程序;)
from selenium import webdriver
from selenium.common.exceptions import TimeoutException
import time
Time_Out=60
site="http://www.google.com.au"
def Loading_Webpage(i, website):
start = time.time()
option = webdriver.ChromeOptions()
driver = webdriver.Chrome(chrome_options=option)
driver.set_page_load_timeout(Time_Out)
dstart = time.time() - start
try:
driver.get(website)
dload = time.time() - start - dstart
except TimeoutException:
return 1
driver.quit()
dquit = time.time() - start - dstart - dload
all = time.time() - start
print(i, dstart, dload, dquit, all)
for i in range(500):
Loading_Webpage(i, site)