Django Selenium Парсинг данных
Как вернуть WebDriver=auth в параметрах функции?
У меня есть файл task.py, в котором сначала в функции login я использую Selenium для входа в личный кабинет, затем функция form_fill получает параметры Url, в которых заполняется форма, и WebDriver и возвращает данные и драйвер. Я пытаюсь в views.py сначала вызвать функцию login для авторизации и вернуть WebDriver в другую функцию form_fill.
task.py
def login(url):
driver = webdriver.Chrome(service=service,options=options)
driver.maximize_window()
driver.get(url)
driver.find_element(By.ID,"login").send_keys(LOGIN)
driver.find_element(By.ID,"password").send_keys(PASSWORD)
driver.find_element(By.ID,'bind').click()
return driver
def form_fill(url_pars,driver,name_flat):
driver.get(url_pars)
driver.find_element(By.ID,"epd_field").click()
codplat=driver.find_element(By.CLASS_NAME,"home_right").text
driver.find_element(By.XPATH,'//span[contains(text(),"name_flat}")]'.format(name_flat)).click()
driver.find_element(By.CLASS_NAME,"js-find-btn").click()
driver.find_element(By.CLASS_NAME,"js-more-btn").click()
driver.find_element(By.CLASS_NAME,"btn-close-pop").click()
return [driver,codplat]
views.py
class AuthView(TemplateView):
template_name="mos_sel/login.html"
def get_context_data(self, **kwargs) :
context=super().get_context_data(**kwargs)
# login(URL_LOGIN) return WebDriver in auth
auth=login(URL_LOGIN)
return context
views.py
class PaymentListView(AuthView,ListView):
template_name='mos_sel/parse_list.html'
model=Flat
context_object_name='fields'
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
context['name_flat']=Flat.objects.get(pk=self.kwargs['pk']).name_flat
# How get WebDriver in parameters call form_fill function
forma_fill=form_fill(GET_USLUGA_URL,auth,context['name_flat'].upper())
return context
login.html
{% extends "base.html" %}
{% block content %}
<h3>Enter for authorization</h3>
<a href="{% url 'AuthView' %}"><button type="button" class="btn btn-success">Enter</button></a>
{% endblock content %}
parse_list.html
{% extends "base.html" %}
{% block sidebar %}
<h5>{{name_flat}}</h5>
{% for field in fields %}
{{field.cod_platelshika}}
{{field.period_oplaty}}
{{field.summa}}
{% endfor %}
{% endblock sidebar %}
Я хочу получить WebDriver в параметрах функции fill_form