Уведомления

Группа в Telegram: @pythonsu

#1 Янв. 7, 2021 21:11:45

79215863093@ya.ru
Зарегистрирован: 2021-01-07
Сообщения: 1
Репутация: +  0  -
Профиль   Отправить e-mail  

Selenium Chromedriver: quit() missing 1 required positional argument: 'self'

Здравствуйте.
Сделал проект на Django/Python. Внутри проекта есть страница, на которой мы вводим в текстовое поле артикул товар, а потом часть кода парсит сайт интернет магазина и возвращает стоимость этого товара в этом магазине.
На локальном сервере все работает.

# Объявляю драйвер
driver = webdriver.Chrome
try
options.add_argument('headless') # для открытия headless-браузера
path = ‘путь до chromedriver.exe’
driver = webdriver.Chrome(options=options, executable_path=path)
# дальше парсим
except Exception as e:
# обрабатываем исключение
finally:
# В любом случае закрываем хром.
driver.quit()

Но после того, как перенес на хостинг reg.ru для этой страницы получаю ошибку

Django Version:	3.1.5
Exception Type: TypeError
Exception Value:
quit() missing 1 required positional argument: 'self'
Exception Location: /var/www/u1230099/data/www/nikogo.site/nikogo_site/main/views.py, line 119, in checker
Python Executable: /opt/python/python-3.9.0/bin/python
Python Version: 3.9.0

Причем и для метода driver.close().
Пытался передавать аргумент self.driver,
driver.quit(self=driver)
но это проблему не решало
Exception Type:	AttributeError
Exception Value:
type object 'WebDriver' has no attribute 'service'
Exception Location: /var/www/u1230099/data/venv/lib/python3.9/site-packages/selenium/webdriver/chrome/webdriver.py, line 158, in quit
Python Executable: /opt/python/python-3.9.0/bin/python
Подскажите, пожалуйста, как решить эту проблему. Спасибо

Офлайн

#2 Янв. 8, 2021 06:35:18

AD0DE412
Зарегистрирован: 2019-05-12
Сообщения: 1130
Репутация: +  44  -
Профиль   Отправить e-mail  

Selenium Chromedriver: quit() missing 1 required positional argument: 'self'

хз попробуйте так webdriver.Chrome(path)
зы так то из вашего сообщения не много понятно
ззы сравните

 class A:
    def __init__(self, var):
        self.var = var
    
    def act(self):
        print(self.var)
    
qwerty = A
qwerty.act()

 class A:
    def __init__(self, var):
        self.var = var
    
    def act(self):
        print(self.var)
    
qwerty = A("test")
qwerty.act()



1. пжлст, форматируйте код, это в панели создания сообщений, выделите код и нажмите что то вроде
2. чтобы вставить изображение залейте его куда нибудь (например), нажмите и вставьте ссылку на его url

есчщо

Отредактировано AD0DE412 (Янв. 8, 2021 07:10:18)

Офлайн

#3 Янв. 8, 2021 10:59:00

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Selenium Chromedriver: quit() missing 1 required positional argument: 'self'

Сравните версии питона и используемых пакетов до и после переноса на другой хостинг



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version