Ani*_*udh 8 django selenium-chromedriver selenium-webdriver
我正在运行一个Django服务,它启动了一个chromedriver for selenium并且在网站上搜索数据.Django服务由另一个Java服务通过HTTP调用.
这是代码:
views.py
path_to_chromedriver = '/path/to/chromedriver'
browser = webdriver.Chrome(executable_path = path_to_chromedriver)
try:
response = get_data(browser)
except Exception as e:
print str(e)
finally:
browser.close()
browser.quit()
Run Code Online (Sandbox Code Playgroud)
scraper.py
get_data(browser)
try:
.
.
.
for i in range(1,6):
try:
.
.
.
return "success data"
except NoSuchElementException:
browser.back()
raise Exception("No results found")
except Exception as e:
print str(e)
raise
Run Code Online (Sandbox Code Playgroud)
问题是,在java服务完成所有调用并且整个过程完成之后,RAM中孤立的25到50个chrome进程占用超过1 GB.我在这里做错了吗?
这是一个老问题.虽然很脏,但对我来说有用的是在退出之前增加睡眠:
time.sleep(5)
browser.quit()
Run Code Online (Sandbox Code Playgroud)
退出前不要关闭,并用 try/ except 包围代码。
try:
browser.quit()
except WebDriverException:
pass
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
872 次 |
| 最近记录: |