Chcę utworzyć automatyczne logowanie i chcę dodać rozszerzenie do chromedrivera. Otrzymałem następujący błąd: „TypeError: add_extension () brakuje 1 wymaganego argumentu pozycyjnego: 'self'”

from selenium import webdriver
from selenium.webdriver.chrome.options import Options
import time
import os


usr = "example"
passw = "password"

options = webdriver.ChromeOptions
options.add_extension(extension="[user]\OneDrive\Desktop\Python\mpbjkejclgfgadiemmefgebjfooflfhl")
br = webdriver.Chrome()
br.get("examplesite")
time.sleep(7)
user = br.find_element_by_css_selector("#login-username")
user.clear()
user.send_keys(usr)
passwd = br.find_element_by_css_selector("#login-password")
passwd.clear()
passwd.send_keys(passw)
btn = br.find_element_by_class_name("m-btn__text")
btn.click()
time.sleep(5)
value = br.find_element_by_class_name("value")
value.text()



time.sleep(100)
-1
Budzi 19 grudzień 2019, 22:10
1
Czy zamiast tego masz na myśli options = webdriver.ChromeOptions() z nawiasami?
 – 
Matt Cremeens
19 grudzień 2019, 22:13

1 odpowiedź

Nie inicjalizujesz swojego obiektu webdriver.ChromeOptions. Próbować:

from selenium import webdriver
from selenium.webdriver.chrome.options import Options
import time
import os


usr = "example"
passw = "password"

options = webdriver.ChromeOptions()
options.add_extension(extension="[user]\OneDrive\Desktop\Python\mpbjkejclgfgadiemmefgebjfooflfhl")
br = webdriver.Chrome()
br.get("examplesite")
time.sleep(7)
user = br.find_element_by_css_selector("#login-username")
user.clear()
user.send_keys(usr)
passwd = br.find_element_by_css_selector("#login-password")
passwd.clear()
passwd.send_keys(passw)
btn = br.find_element_by_class_name("m-btn__text")
btn.click()
time.sleep(5)
value = br.find_element_by_class_name("value")
value.text()

time.sleep(100)

Zwróć uwagę na nawiasy po options = webdriver.ChromeOptions. Nawiasy tworzą nowy obiekt ChromeOptions; żaden nawias nie odnosi się do samej klasy obiektu.

0
inim 19 grudzień 2019, 22:14