0

I am new to selenium and written a script to login, and when I am running the script getting the following error:-

Error:-

selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"css selector","selector":"[id="SignIn Form_email"]"}

Script:-

url = "https://someurl.com"
driver = webdriver.Chrome(executable_path="C:\CustomDrivers\chromedriver_win32\chromedriver")
driver.get(url)
print(driver.title)
user_id = driver.find_element_by_id("SignIn Form_email")
user_id.send_keys("[email protected]")

user_password = driver.find_element_by_id("SignIn Form_password")
user_password.send_keys("web$$DD")

driver.find_element_by_xpath("//*[@id='SignIn Form']/div[3]/div/div/div/button").click()
print(driver.title)
time.sleep(5)

Full Error Trace:-

C:\Users\Lenovo\Desktop\convin\automation_test\logintest.py:6: DeprecationWarning: executable_path has been deprecated, please pass in a Service object
  driver = webdriver.Chrome(executable_path="C:\CustomDrivers\chromedriver_win32\chromedriver")
Convin
C:\Users\Lenovo\Desktop\convin\automation_test\logintest.py:9: DeprecationWarning: find_element_by_* commands are deprecated. Please use find_element() instead
  user_id = driver.find_element_by_id("SignIn Form_email")
Traceback (most recent call last):
  File "C:\Users\Lenovo\Desktop\convin\automation_test\logintest.py", line 9, in <module>
    user_id = driver.find_element_by_id("SignIn Form_email")
  File "C:\Users\Lenovo\Desktop\convin\automation_test\venv\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 466, in find_element_by_id
    return self.find_element(by=By.ID, value=id_)
  File "C:\Users\Lenovo\Desktop\convin\automation_test\venv\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 1238, in find_element
    return self.execute(Command.FIND_ELEMENT, {
  File "C:\Users\Lenovo\Desktop\convin\automation_test\venv\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 418, in execute
    self.error_handler.check_response(response)
  File "C:\Users\Lenovo\Desktop\convin\automation_test\venv\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 243, in check_response
    raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"css selector","selector":"[id="SignIn Form_email"]"}
  (Session info: chrome=95.0.4638.69)
Stacktrace:
Backtrace:
    Ordinal0 [0x00780C43+2493507]
    Ordinal0 [0x0071A4B1+2073777]
    Ordinal0 [0x00622608+1058312]
    Ordinal0 [0x0064CAA4+1231524]
    Ordinal0 [0x00676C62+1404002]
    Ordinal0 [0x0066597A+1333626]
    Ordinal0 [0x00675038+1396792]
    Ordinal0 [0x0066580B+1333259]
    Ordinal0 [0x00642314+1188628]
    Ordinal0 [0x0064316F+1192303]
    GetHandleVerifier [0x00907BF6+1548950]
    GetHandleVerifier [0x009B461C+2256060]
    GetHandleVerifier [0x0080C13B+518107]
    GetHandleVerifier [0x0080B1E0+514176]
    Ordinal0 [0x0071F53D+2094397]
    Ordinal0 [0x00723418+2110488]
    Ordinal0 [0x00723552+2110802]
    Ordinal0 [0x0072CE81+2150017]
    BaseThreadInitThunk [0x7602FA29+25]
    RtlGetAppContainerNamedObjectPath [0x77467A9E+286]
    RtlGetAppContainerNamedObjectPath [0x77467A6E+238]

Thanks in advance Hope to here from you soon.

2
  • Html element of the sign in form email? Commented Nov 22, 2021 at 7:30
  • without url for this page it is waste of time Commented Nov 22, 2021 at 8:27

2 Answers 2

2

Where is the HTML? Without it, we can't really help you.

By the way, your user_id and user_password look like a class name, are you sure about find_element_by_id method? Shouldn't you use find_element_by_class instead?

Sign up to request clarification or add additional context in comments.

Comments

0

By seeing this error

selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"css selector","selector":"[id="SignIn Form_email"]"}

You will have to make sure

  1. This [id="SignIn Form_email"] is not under an iframe.
  2. This [id="SignIn Form_email"] is not under a shadow-root.
  3. You should not be on the new tab/windows launched by selenium.
  4. You may be trying to interact with the element and it has not rendedered completely.

Also, Please check in the dev tools (Google chrome) if we have unique entry in HTML DOM or not.

xpath that you should check :

[id="SignIn Form_email"]

Steps to check:

Press F12 in Chrome -> go to element section -> do a CTRL + F -> then paste the xpath and see, if your desired element is getting highlighted with 1/1 matching node.

Now, if it is iframe, please switch to iframe first.

wait = WebDriverWait(driver, 30)
wait.until(EC.frame_to_be_available_and_switch_to_it((By.XPATH, "")))

if it is element not rendered issue, Please induce web driver wait like

wait = WebDriverWait(driver, 30)
wait.until(EC.element_to_be_clickable((By.CSS_SELECTOR, "")))

Imports :

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

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.