Avatar of Hiro 714
Hiro 714

asked on 

selenium python question

I want to select the button and click.
Would you advise?
Source
<a ui-sref="physical-item-view({id: item.id})" class="w-btn w-btn-action" ng-class="{'disabled' : item.isConsumable}" uib-tooltip="Details" tooltip-placement="top-right" tooltip-append-to-body="true" href="#/physical-item/1002152546"> <i class="fa fa-eye"></i> </a>

Open in new window

Please correct the following code.
Python code
elem_login_btn = browser.find_element_by_class_name('w-btn wbtn-action')
elem_login_btn.click()

Open in new window

When I run, this message comes:
Jupyter Notebook Error Message
NoSuchElementException                    Traceback (most recent call last)
<ipython-input-19-920f716fbe43> in <module>
----> 1 elem_login_btn = browser.find_element_by_class_name('w-btn wbtn-action')
      2 elem_login_btn.click()

~\AppData\Roaming\Python\Python38\site-packages\selenium\webdriver\remote\webdriver.py in find_element_by_class_name(self, name)
    562             element = driver.find_element_by_class_name('foo')
    563         """
--> 564         return self.find_element(by=By.CLASS_NAME, value=name)
    565
    566     def find_elements_by_class_name(self, name):

~\AppData\Roaming\Python\Python38\site-packages\selenium\webdriver\remote\webdriver.py in find_element(self, by, value)
    974                 by = By.CSS_SELECTOR
    975                 value = '[name="%s"]' % value
--> 976         return self.execute(Command.FIND_ELEMENT, {
    977             'using': by,
    978             'value': value})['value'] 
~\AppData\Roaming\Python\Python38\site-packages\selenium\webdriver\remote\webdriver.py in execute(self, driver_command, params)
    319         response = self.command_executor.execute(driver_command, params)
    320         if response:
--> 321             self.error_handler.check_response(response)
    322             response['value'] = self._unwrap_value(
    323                 response.get('value', None)) 
~\AppData\Roaming\Python\Python38\site-packages\selenium\webdriver\remote\errorhandler.py in check_response(self, response)
    240                 alert_text = value['alert'].get('text')
    241             raise exception_class(message, screen, stacktrace, alert_text)
--> 242         raise exception_class(message, screen, stacktrace)
    243
    244     def _value_or_default(self, obj, key, default):

NoSuchElementException: Message: Unable to locate element: .w-btn wbtn-action

Open in new window

SeleniumPython

Avatar of undefined
Last Comment
Hiro 714
ASKER CERTIFIED SOLUTION
Avatar of Norie
Norie

Blurred text
THIS SOLUTION IS ONLY AVAILABLE TO MEMBERS.
View this solution by signing up for a free trial.
Members can start a 7-Day free trial and enjoy unlimited access to the platform.
See Pricing Options
Start Free Trial
Avatar of Hiro 714
Hiro 714

ASKER

Thank you.
I have tried, but still getting error
elem_login_btn = browser.find_element_by_class_name('w-btn w-btn-action')

Open in new window


User generated image
Error
NoSuchElementException                    Traceback (most recent call last)
<ipython-input-35-d237a29aa6f8> in <module>
----> 1 elem_login_btn = browser.find_element_by_class_name('w-btn w-btn-action')

~\AppData\Roaming\Python\Python38\site-packages\selenium\webdriver\remote\webdriver.py in find_element_by_class_name(self, name)
    562             element = driver.find_element_by_class_name('foo')
    563         """
--> 564         return self.find_element(by=By.CLASS_NAME, value=name)
    565
    566     def find_elements_by_class_name(self, name):

~\AppData\Roaming\Python\Python38\site-packages\selenium\webdriver\remote\webdriver.py in find_element(self, by, value)
    974                 by = By.CSS_SELECTOR
    975                 value = '[name="%s"]' % value
--> 976         return self.execute(Command.FIND_ELEMENT, {
    977             'using': by,
    978             'value': value})['value'] 
~\AppData\Roaming\Python\Python38\site-packages\selenium\webdriver\remote\webdriver.py in execute(self, driver_command, params)
    319         response = self.command_executor.execute(driver_command, params)
    320         if response:
--> 321             self.error_handler.check_response(response)
    322             response['value'] = self._unwrap_value(
    323                 response.get('value', None)) 
~\AppData\Roaming\Python\Python38\site-packages\selenium\webdriver\remote\errorhandler.py in check_response(self, response)
    240                 alert_text = value['alert'].get('text')
    241             raise exception_class(message, screen, stacktrace, alert_text)
--> 242         raise exception_class(message, screen, stacktrace)
    243
    244     def _value_or_default(self, obj, key, default):

NoSuchElementException: Message: no such element: Unable to locate element: {"method":"css selector","selector":".w-btn w-btn-action"}  (Session info: chrome=90.0.4430.93)

Open in new window

Avatar of Hiro 714
Hiro 714

ASKER

I tried this, but not clicking.
elem_login_btn = browser.find_element_by_class_name("w-btn.w-btn-action")
elem_login_btn.click()

Open in new window



Python
Python

Python is a widely used general-purpose, high-level programming language. Its design philosophy emphasizes code readability, and its syntax allows programmers to express concepts in fewer lines of code than would be possible in other languages. Python supports multiple programming paradigms, including object-oriented, imperative and functional programming or procedural styles. It features a dynamic type system and automatic memory management and has a large and comprehensive set of standard libraries, including NumPy, SciPy, Django, PyQuery, and PyLibrary.

6K
Questions
--
Followers
--
Top Experts
Get a personalized solution from industry experts
Ask the experts
Read over 600 more reviews

TRUSTED BY

IBM logoIntel logoMicrosoft logoUbisoft logoSAP logo
Qualcomm logoCitrix Systems logoWorkday logoErnst & Young logo
High performer badgeUsers love us badge
LinkedIn logoFacebook logoX logoInstagram logoTikTok logoYouTube logo