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.
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
Get help from others!
Recent Answers
Recent Questions
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP