TransWikia.com

Extrair vários valores de uma variável

Stack Overflow em Português Asked by Rodrigo ZOZ on January 26, 2021

Estou pegando informações de um site onde o numero da div muda, tem alguma forma para ir tentado todos os números ate um limite ou preciso digitá-los manualmente ?

try:
 x = 1
 driver.find_element_by_xpath("/html/body/div[3]/div/div[2]/div/div[{}]/div".format(x)).click()

O x precisa ser do 1 ao 500 por exemplo.

One Answer

Conforme indicado nos comentários por @MagicHat, esse é um uso típico de um loop

for x in range(500):
    try:
        driver.find_element_by_xpath(f"/html/body/div[3]/div/div[2]/div/div[{x}]/div").click()

o problema do código acima é que você clicaria em todos os elementos que tivessem esse número do div de 1 a 500. Uma alternativa possivelmente mais adequada é:

encontrou = False
x = 0
while not encontrou:
    try:
        driver.find_element_by_xpath(f"/html/body/div[3]/div/div[2]/div/div[{x}]/div").click()
    except:
        # em caso de erro, passe adiante
        pass
    else:
        # caso não haja erro, o else é executado, encerrando o loop 'while'
        encontrou = True
    finally:
        # independente de haver ocorrido erro, incremente a variavel x
        x += 1

esse código terminará no primeiro valor de x que não leventar uma exceção.

Answered by rms on January 26, 2021

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP