pythonseleniumselenium-webdriverelementlocate

How to obtain the number of elements with classname "xyz" through Selenium


Is it possible to do something like this? I want to know the number of elements with the class property set to 'gsc-cursor-page'.

pages_nav = driver.find_element_by_css_selector('.gsc-cursor')
pages = driver.find_element_by_css_selector('.gsc-cursor-page')
for pages in pages_nav:
    print("len(pages)")

As shown below are (.gsc-cursor-page) inside (.gsc-cursor) So how can I obtain the number of elements with classname 'gsc-cursor-page'.

Html code


Solution

  • To print the number of elements with classname property set to gsc-cursor-page you can use either of the following locator strategies:


    Update

    The output of 15, 13 and 13 is perfect as the xpath and the css_selector looks for the elements only with classname gsc-cursor-page i.e. perfect match and there can be some more elements outside the scope of the snapshot you provided and some more elements which also contains the classname gsc-cursor-page.


    Solution

    Your effective line of code will be: