Home > Back-end >  Python code not working on Selenium 4 when trying to target login
Python code not working on Selenium 4 when trying to target login

Time:06-01

Been trying to create a login from Selenium to Linkedin using Python 3. I've taken into account the changes and deprecation I believe. What am I missing. This should be simple. Apologies if I'm code blind at the moment, been at this 5 hours. All working except for login. Heres my code block:

import time
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.common.by import By

service = Service(r"C:\Users\stuar\PycharmProject\pythonProject1\chromedriver.exe")
driver = webdriver.Chrome(service= service)
driver.get("https://gb.linkedin.com/")
time.sleep(3)

email = "[email protected]"
password = "somepass123 "

driver.find_element(By.ID, "element_id").send_keys('email')
driver.find_element(By.ID, "element_id").send_keys('password')
driver.find_element(By.ID, "element_id").send_keys(Keys.RETURN)

These are my exception codes:
raceback (most recent call last):
  File "C:\Users\stuar\PycharmProject\pythonProject1\main.py", line 16, in <module>
    driver.find_element(By.ID, "element_id").send_keys('email')
  File "C:\Users\stuar\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\Python39\site-packages\selenium\webdriver\remote\webdriver.py", line 1244, in find_element
    return self.execute(Command.FIND_ELEMENT, {
  File "C:\Users\stuar\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\Python39\site-packages\selenium\webdriver\remote\webdriver.py", line 424, in execute
    self.error_handler.check_response(response)
  File "C:\Users\stuar\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\Python39\site-packages\selenium\webdriver\remote\errorhandler.py", line 247, 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="element_id"]"}
  (Session info: chrome=102.0.5005.63)
Stacktrace:
Backtrace:
    Ordinal0 [0x0073D953 2414931]
    Ordinal0 [0x006CF5E1 1963489]
    Ordinal0 [0x005BC6B8 837304]
    Ordinal0 [0x005E9500 1021184]
    Ordinal0 [0x005E979B 1021851]
    Ordinal0 [0x00616502 1205506]
    Ordinal0 [0x006044E4 1131748]
    Ordinal0 [0x00614812 1198098]
    Ordinal0 [0x006042B6 1131190]
    Ordinal0 [0x005DE860 976992]
    Ordinal0 [0x005DF756 980822]
    GetHandleVerifier [0x009ACC62 2510274]
    GetHandleVerifier [0x0099F760 2455744]
    GetHandleVerifier [0x007CEABA 551962]
    GetHandleVerifier [0x007CD916 547446]
    Ordinal0 [0x006D5F3B 1990459]
    Ordinal0 [0x006DA898 2009240]
    Ordinal0 [0x006DA985 2009477]
    Ordinal0 [0x006E3AD1 2046673]
    BaseThreadInitThunk [0x759EFA29 25]
    RtlGetAppContainerNamedObjectPath [0x77667A7E 286]
    RtlGetAppContainerNamedObjectPath [0x77667A4E 238]

CodePudding user response:

It seems like you are using incorrect locators Value , please try the below

driver.find_element(By.CSS_SELECTOR, "#session_key").send_keys('email')
driver.find_element(By.CSS_SELECTOR, "#session_password").send_keys('password')
driver.find_element(By.XPATH, "//*[@id='main-content']/section[1]/div/div/form/button").send_keys(Keys.RETURN)

I hope this will solve your problem, let me know if you are still facing any issue.

  • Related