Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Python: find_element_by_css_selector

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"}
like image 261
Lara19 Avatar asked Feb 02 '18 08:02

Lara19


People also ask

What is CSS selector in Python Selenium?

A CSS Selector is a combination of an element selector and a value which identifies the web element within a web page. They are string representations of HTML tags, attributes, Id and Class.

How do I use cssSelector?

The CSS id Selector The id selector uses the id attribute of an HTML element to select a specific element. The id of an element is unique within a page, so the id selector is used to select one unique element! To select an element with a specific id, write a hash (#) character, followed by the id of the element.

Why is the ActionChains class used?

ActionChains are a way to automate low level interactions such as mouse movements, mouse button actions, key press, and context menu interactions. This is useful for doing more complex actions like hover over and drag and drop.


1 Answers

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

like image 197
undetected Selenium Avatar answered Oct 07 '22 09:10

undetected Selenium