Search code examples
pythonselenium-webdriverselenium-chromedriver

Selenium: module 'driver' has no attribute 'find_element'


I am trying to scrap the Django login page, and this is my code:

import driver
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.ui import WebDriverWait

wait = WebDriverWait(driver,10)

driver = webdriver.Chrome()
driver.get("localhost:8000")
driver.maximize_window()

git_login = wait.until(EC.element_to_be_clickable((By.LINK_TEXT, 'Sign in')))

driver.close()

I have been getting the same error again and again; I tried almost everything. Wait, XPath, CSS etc...

Error Message:

Traceback (most recent call last):
  File "C:\Users\Abhishek\django-login\test.py", line 16, in <module>
    git_login = wait.until(EC.element_to_be_clickable((By.LINK_TEXT, 'Sign in')))
  File "C:\Users\Abhishek\AppData\Local\Programs\Python\Python39\lib\site-packages\selenium\webdriver\support\wait.py", line 96, in until
    value = method(self._driver)
  File "C:\Users\Abhishek\AppData\Local\Programs\Python\Python39\lib\site-packages\selenium\webdriver\support\expected_conditions.py", line 363, in _predicate
    target = driver.find_element(*target)  # grab element at locator
AttributeError: module 'driver' has no attribute 'find_element'

Solution

  • You created wait object before even creating driver object. Just rearrange it as below:

    driver = webdriver.Chrome()
    wait = WebDriverWait(driver,10)