自动Chromium Webdriver在最后使用Selenium变得非常慢

时间:2017-06-29 04:53:44

标签: python selenium selenium-webdriver webdriver

我使用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

1 个答案:

答案 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)