1. 程式人生 > 其它 >flask + selenium啟動時每次都開啟兩個瀏覽器的原因及解決辦法,踩坑日記~~~

flask + selenium啟動時每次都開啟兩個瀏覽器的原因及解決辦法,踩坑日記~~~

剛開始我的flask是這樣的,每次啟動flask時都會開啟兩個瀏覽器,但是隻用一個瀏覽器,很奇怪

from flask import Flask,request,jsonify
from Project import SeleniumProject
import traceback


app = Flask(__name__)
app.config['JSON_AS_ASCII'] = False # jsonify轉變格式的時候不會轉變為unicode編碼格式,unicode編碼格式無法直接看到漢字

# 這裡是selenium的主程式
seleniumProject = SeleniumProject()


# 執行狀態
@app.route("/test", methods=["GET"])
def demo_status():
# 看一下介面執行狀況
return_dict = {"return_code": "200", "return _info": "執行正常~~~"}
return jsonify(return_dict)


@app.route("/project", methods=["GET"])
def demo3():
url = request.args.get("url")
if url:
try:
data = seleniumProject.main(url)
except:
data = {"error": traceback.format_exc()}
else:
data = {"error": "請傳入準確的url引數"}
return jsonify(data)


if __name__ == "__main__":
app.run(host='0.0.0.0', port=6725, debug=True)

重點來了:我發現每次修改程式碼之後又會開啟兩個瀏覽器,然後我就把debug改為False,重新啟動之後發現正常了

注意:在使用selenium + flask做自動採集的介面服務時一定要把debug改為False。原因有二:

第一,每次開啟flask時總會多開啟一個沒用的瀏覽器,浪費資源;

第二,每次修改程式碼後又會開啟2個瀏覽器,但是之前的2個瀏覽器又沒有用到,非常浪費資源,尤其是在伺服器上面用無介面瀏覽器採集的時候,修改幾次程式碼之後你都不知道開啟了多少個瀏覽器,然後你就會發現伺服器的可用記憶體越來越小。