Автоматизация входа в систему с использованием запросов/ответов Selenium – почему это не работает?Python

Программы на Python
Ответить
Anonymous
 Автоматизация входа в систему с использованием запросов/ответов Selenium – почему это не работает?

Сообщение Anonymous »

Мне нужно автоматизировать процесс входа на сайт, который я часто посещаю. Я использую ScrAPY SPIDER. Мой файл settings.py выглядит следующим образом:

Код: Выделить всё

SELENIUM_DRIVER_NAME='chrome'
SELENIUM_DRIVER_EXECUTABLE_PATH=r"D:\SCRAPPING\chromedriver_win32\chromedriver.exe"
SELENIUM_DRIVER_ARGUMENTS=[]

BOT_NAME = 'tpad_reports'

SPIDER_MODULES = ['tpad_reports.spiders']
NEWSPIDER_MODULE = 'tpad_reports.spiders'

ROBOTSTXT_OBEY = False

DOWNLOADER_MIDDLEWARES = {
'scrapy_selenium.SeleniumMiddleware': 800,
}

Мой код выглядит следующим образом:

Код: Выделить всё

import scrapy
import time
from scrapy_selenium import SeleniumRequest
# my directorate--->>  cd tpad_reports/tpad_reports/spiders>
# the code to run spider---->>> scrapy runspider tsc_reports.py

def wait(driver):
time.sleep(2)
return True

class TscReportsSpider(scrapy.Spider):
name = 'tsc_reports'
allowed_domains = ['tpad2.tsc.go.ke']
start_urls = ['https://tpad2.tsc.go.ke/auth/login']

def start_requests(self):
for url in self.start_urls:
yield SeleniumRequest(url= url ,wait_time=10,wait_until=wait,callback=self.parse)

def parse(self, response):
driver=response.request.meta['driver']

tsc_no=driver.find_element_by_xpath('//input[@type="text"]')
tsc_no.send_keys(620127)

id_no=driver.find_element_by_xpath('//input[@type="number"]')
id_no.send_keys(27376193)

password=driver.find_element_by_xpath('//input[@type="password"]')
password.send_keys(620127)

login=driver.find_element_by_xpath('//button[@class="btn btn-md"]')
login.submit()

time.sleep(2)

Когда я запускаю своего паука, я получаю сообщение об ошибке

Файл "D:\SCRAPPING\tpad_reports\tpad_reports\spiders\tsc_reports.py", строка 23, в анализе
tsc_no=driver.find_element_by_xpath('//input[@type="text"]')
AttributeError: у объекта «WebDriver» нет атрибута «find_element_by_xpath»

Поэтому браузер открывается, и сайт загружается хорошо. Проблема начинается, когда я начинаю вводить первый ввод. Кто-нибудь, пожалуйста, помогите решить эту проблему, я ожидал войти в систему, но это не удалось сделать

Подробнее здесь: https://stackoverflow.com/questions/754 ... -wont-work
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»