-1

I want to create an an automatic login and I want to add extenison to the chromedriver. I got the following error: "TypeError: add_extension() missing 1 required positional argument: '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)
Budzi
  • 3
  • 2
  • 4

1 Answers1

0

You're not initializing your webdriver.ChromeOptions object. Try:

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)

Note the parentheses after options = webdriver.ChromeOptions. Parentheses create a new ChromeOptions object; no parentheses refers to the class of object itself.

inim
  • 146
  • 3