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"}
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.
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.
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.
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
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With