Selenium search by tag name option

Multi tool use
Multi tool use


Selenium search by tag name option



I'm trying to get all data from a website called Correios, in this website, I need to handle some dropdowns wich i'm having some issues like:
It's returning a list with a bunch of empty strings.
That's my code:


chrome_path = r"C:\Users\Gustavo\Desktop\geckodriver\chromedriver.exe"
driver = webdriver.Chrome(chrome_path)
lista_x =
driver.get("http://www2.correios.com.br/sistemas/agencias/")
driver.maximize_window()

dropdownEstados = driver.find_elements_by_xpath("""//*[@id="estadoAgencia"]""")

optEstados = driver.find_elements_by_tag_name("option")

for valores in optEstados:
print(valores.text.encode())



And what i get from that is:


b''
b'ACRE'
b'ALAGOAS'
b'AMAPxc3x81'
b'AMAZONAS'
b'BAHIA'
b'CEARxc3x81'
b'DISTRITO FEDERAL'
b'ESPxc3x8dRITO SANTO'
b'GOIxc3x81S'
b'MARANHxc3x83O'
b'MINAS GERAIS'
b'MATO GROSSO DO SUL'
b'MATO GROSSO'
b'PARxc3x81'
b'PARAxc3x8dBA'
b'PERNAMBUCO'
b'PIAUxc3x8d'
b'PARANxc3x81'
b'RIO DE JANEIRO'
b'RIO GRANDE DO NORTE'
b'RONDxc3x94NIA'
b'RORAIMA'
b'RIO GRANDE DO SUL'
b'SANTA CATARINA'
b'SERGIPE'
b'Sxc3x83O PAULO'
b'TOCANTINS'
b''
b''
b''
b''
b''
b''
b''
b''
b''
b''
b''
b''
b''
b''
b''
b''
b''
b''
b''
b''
b''
b''
b''
b''
b''
b''
b''



How can I remove the empty b" "?





take a look stackoverflow.com/questions/4915920/…
– Magesh
48 mins ago




2 Answers
2



If I right understand, you want to locate all this options.



enter image description here



Try this xPath to lacotae the dropdown elements:


//*[@id="estadoAgencia"]/option



The code sample:


chrome_path = r"C:\Users\Gustavo\Desktop\geckodriver\chromedriver.exe"
driver = webdriver.Chrome(chrome_path)
lista_x =
driver.get("http://www2.correios.com.br/sistemas/agencias/")
driver.maximize_window()

dropdownEstados = driver.find_elements_by_xpath("//*[@id='estadoAgencia']")

# find elements in dropdown
optEstados = driver.find_elements_by_xpath("//*[@id='estadoAgencia']/option")

for valores in optEstados:
print(valores.text.encode())



Via this xPath you will get all dropdown elements, without empty strings except one, which is in this dropdown. Output:


b''
b'ACRE'
b'ALAGOAS'
b'AMAPxc3x81'
b'AMAZONAS'
b'BAHIA'
b'CEARxc3x81'
b'DISTRITO FEDERAL'
b'ESPxc3x8dRITO SANTO'
b'GOIxc3x81S'
b'MARANHxc3x83O'
b'MINAS GERAIS'
b'MATO GROSSO DO SUL'
b'MATO GROSSO'
b'PARxc3x81'
b'PARAxc3x8dBA'
b'PERNAMBUCO'
b'PIAUxc3x8d'
b'PARANxc3x81'
b'RIO DE JANEIRO'
b'RIO GRANDE DO NORTE'
b'RONDxc3x94NIA'
b'RORAIMA'
b'RIO GRANDE DO SUL'
b'SANTA CATARINA'
b'SERGIPE'
b'Sxc3x83O PAULO'
b'TOCANTINS'



Note: the first element is an empty string because of this:



img2



There is a small change required in your code:


dropdownEstados = driver.find_element_by_xpath("""//*[@id="estadoAgencia"]""")
optEstados = dropdownEstados.find_elements_by_tag_name("option")

for valores in optEstados:
print(valores.text.encode())






By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

INVBJBS6kB6 Y6YDO,De9,vp4pxaAhqR8lzethbMLT P1bJaxjV9ArNT0uQqSC m d3i RiRi3tXsT qMiSoY,If,twT,e,t,vfi
Nd7 OkqkvEs6NmT9U Je0ZQNRI1umrVD6S0P4Xaaf Xohko1x2E1Swj9KF8,Z

Popular posts from this blog

Boo (programming language)

Rothschild family