app.py 1.1 KB

123456789101112131415161718192021222324252627282930313233343536
  1. from flask import Flask, request, render_template_string
  2. from selenium import webdriver
  3. from selenium.webdriver.chrome.options import Options
  4. from selenium.webdriver.common.by import By
  5. import os, time
  6. SELENIUM_URL = os.getenv("SELENIUM_URL","http://localhost:4444/wd/hub")
  7. app = Flask(__name__)
  8. HTML = """<h1>Upload</h1>
  9. <form method=post enctype=multipart/form-data>
  10. <input type=file name=photo><input type=submit>
  11. </form><p>{{msg}}</p>"""
  12. def driver():
  13. opts=Options()
  14. opts.add_argument("--no-sandbox")
  15. opts.add_argument("--disable-dev-shm-usage")
  16. return webdriver.Remote(command_executor=SELENIUM_URL, options=opts)
  17. @app.route("/",methods=["GET","POST"])
  18. def index():
  19. if request.method=="GET":
  20. return render_template_string(HTML,msg="")
  21. f=request.files.get("photo")
  22. if not f: return render_template_string(HTML,msg="No file")
  23. d=driver()
  24. try:
  25. d.get("https://www.vinted.pl")
  26. time.sleep(3)
  27. finally:
  28. d.quit()
  29. return render_template_string(HTML,msg="Demo executed")
  30. if __name__=="__main__":
  31. app.run(host="0.0.0.0",port=5000)