5

I am trying to click the login button with webdriver

<a class="login-btn" href="javascript:;" data-bind="click:loginSection.loginClick">
    <span class="btn-text">Login</span>
</a>

My code:

submit=driver.find_element_by_css_selector('a.login-btn').click()

or try this code:

submit=driver.find_element_by_class_name('login-btn').click()

Neither of these is working, need some advice. Thanks in advance

Error:

NoSuchElementException: Message: no such element: Unable to locate element: {"method":"css selector","selector":"a.login-btn"}
4
  • Could you check whether your login form is inside a iframe? Commented Feb 2, 2018 at 8:46
  • 3
    What DebanjanB has suggested should work. Have you tried putting some delay just before that line? You may try like this driver.find_element_by_link_text('Login').click() as well. Btw, is that a slow loading page? Commented Feb 2, 2018 at 8:46
  • @Mouli nope, it's not :) Commented Feb 2, 2018 at 8:56
  • @SIM that's weird, it works with your suggestion :) Not a slow loading page, it just never clicked the button Commented Feb 2, 2018 at 8:57

1 Answer 1

8

To click on the Login button you can use either of the the following line of code :

  • LinkText :

    driver.find_element_by_link_text("Login").click()
    
  • CssSelector :

    driver.find_element_by_css_selector("a.login-btn > span.btn-text").click()
    
  • Getting more granular with the CssSelector you can also use the following line of code :

    driver.find_element_by_css_selector("a.login-btn[data-bind='click:loginSection.loginClick'] > span.btn-text").click()
    

Update : As you are seeing NoSuchElementException you can check this discussion

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

3 Comments

It's not working. I am pretty sure the username and password are correct.
@Lara19 What does the error says? Can you paste the error with in the question?
NoSuchElementException: Message: no such element: Unable to locate element: {"method":"css selector","selector":"a.login-btn[data-bind='click:loginSection.loginClick'] > span.btn-text"}

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.