Python Forum

Full Version: Dropdown interact
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Basically this for loop is supposed to work if a dropdown menu is shown on the page. I could've made it work just for one item of the list, but could not make it loop over all the dropdown items.

How could I make It work for all the dropdown items?


           # IF THE DROPDOWN IS SHOWED FOR THIS CLIENT
            if self.driver.find_element_by_xpath('/html/body/main[1]/nav/ul/li[1]/span').is_displayed():
                qntbenef = 'SIM'
                print('Mais de um beneficio')

                # DROPDOWN CLICK TO MAKE ITEMS LIST VISIBLE
                self.driver.find_element_by_xpath('/html/body/main[1]/nav/ul/li[1]/span').click()

                # DROPDOWN LIST = DROPD
                dropd = self.driver.find_elements_by_xpath('/html/body/main[1]/nav/ul/li[1]/ul')

                # PRINT THE ITEMS OF THE DROPDOWN
                for item in dropd:
                    print(item.text)

                    item.click()

                    nome = self.driver.find_element_by_xpath(
                        "/html/body/main[1]/div[@id='dashboard'][not(contains(@class, 'left hide'))]"
                        "/div[1]/div[1]/div[1]/h2").text

                    print(nome)
The code works fine till print(item.text) and prints all the items of the dropdown menu, but them the code interacts just with the first item of the menu...

Here's the full code: https://github.com/moisesfelipee/web-scr...aster/1.py