Я создаю веб-приложение, чтобы упростить / ускорить вход в систему и запись часов для моей работы в школах. У меня есть класс, который я написал, что при инициализации запускается драйвер селена без головы и содержит методы для навигации по веб-сайту, который используется для регистрации часов и т. Д. Код работает для одного пользователя одновременно, который использует внешний интерфейс колбы. Проблема в том, что когда несколько пользователей заходят на сайт, все они используют один и тот же веб-драйвер, что делает невозможным выполнение задачи. Как я могу назначить один веб-драйвер для каждого посетителя сайта.
Пока я не смотрел в Интернете, я видел людей, которые говорили о сессиях и менеджерах многопроцессорных систем. Но я не уверен, подходит ли это моему варианту использования. Это код до сих пор
#initializes Flask App
app = Flask(__name__)
# Starts the webdriver goes to website
x=TimeLogger()
@app.route("/home", methods=['GET',])
def home():
return render_template("login.html")
@app.route("/login",methods=['POST'])
def login():
x.user = request.form['user']
x.passw = request.form['pass']
# uses driver to login in to site
x.webLogin()
# pulls avaible jobs from site using driver
jobs = x.showJobs()
return render_template("submitHours.html",jobs = jobs)
@app.route("/done", methods=['POST'])
def done():
# Selects element for desired job
x.selectJob(int(request.form['workplace'])+1)
date = request.form["day"].split("-")
dateP = datetime.date(int(date[0]),int(date[1]),int(date[2]))
#Selects month day and enters horus
x.selectMonth(dateP.month)
x.goToDay(dateP)
x.enterHours(request.form['hours'])
#closes webdriver
x.close()
#Restarts for next use
x.__init__()
return render_template("login.html")