a = 1
for i in range(5):
browser.find_element_by_xpath("/html/body/div[6]/div/div/div[2]/div/div/div[1]/div[3]/button").click()
sleep(1)
Quiero aumentar el 1 en div[1] en 1+ en cada ciclo, pero ¿cómo puedo hacerlo?
Pensé que necesitaba agregar un valor, haga "+a+" y por último un "a = a + 1" para aumentar el valor cada vez, pero no funcionó.
a = 1
for i in range(5):
browser.find_element_by_xpath("/html/body/div[6]/div/div/div[2]/div/div/div["+a+"]/div[3]/button").click()
a = a + 1
sleep(1)
1
Estoy bastante seguro de que a aumenta. ¿Cómo sabes que no es así?
- Yevhen Kuzmovych
19/03/2021 a las 20:01
¿Cuál es el mensaje de error que recibiste?
- Jelle
19/03/2021 a las 20:02
¿Por qué necesitas una variable independiente? para un dentro del rango(1, 6):
-Barmar
19/03/2021 a las 20:04
También puedes colocar todos los botones en una lista y recorrerla en bucle, en lugar de llamar a find_element_by._xpath() repetidamente.
-Barmar
19/03/2021 a las 20:05
No recibo ningún mensaje de error
- Samet
19/03/2021 a las 20:53
------------------------------------
for i in range(1,6):
browser.find_element_by_xpath("/html/body/div[6]/div/div/div[2]/div/div/div["+str(i)+"]/div[3]/button").click()
sleep(1)
no necesitas 2 variables, solo una variable i en el bucle, conviértela en cadena con str() y agrégala donde la necesites, bastante simple. el valor de i aumenta para vísperasPruebe la iteración del bucle que va del 1 al 5 haciendo exactamente lo que necesita.
------------------------------------
Alternativamente a la respuesta de Elyes, puedes usar la palabra clave 'global' en la parte superior de tu función y luego debería incrementarse 'correctamente'.
------------------------------------
Realmente no necesitas dos variables para esto a menos que vayas a usar la segunda variable para algo. Sin embargo, mire el siguiente código y lo hará.mostrarte que tanto i como a te darán el mismo resultado:
from time import sleep
a = 1
for i in range(1, 6):
path = "/html/body/div[6]/div/div/div[2]/div/div/div[{idx}]/div[3]/button".format(idx=i)
print(path, 'using i')
path = "/html/body/div[6]/div/div/div[2]/div/div/div[{idx}]/div[3]/button".format(idx=a)
a += 1
print(path, 'using a')
sleep(1)
Resultado:
/html/body/div[6]/div/div/div[2]/div/div/div[1]/div[3]/button using i
/html/body/div[6]/div/div/div[2]/div/div/div[1]/div[3]/button using a
/html/body/div[6]/div/div/div[2]/div/div/div[2]/div[3]/button using i
/html/body/div[6]/div/div/div[2]/div/div/div[2]/div[3]/button using a
/html/body/div[6]/div/div/div[2]/div/div/div[3]/div[3]/button using i
/html/body/div[6]/div/div/div[2]/div/div/div[3]/div[3]/button using a
/html/body/div[6]/div/div/div[2]/div/div/div[4]/div[3]/button using i
/html/body/div[6]/div/div/div[2]/div/div/div[4]/div[3]/button using a
/html/body/div[6]/div/div/div[2]/div/div/div[5]/div[3]/button using i
/html/body/div[6]/div/div/div[2]/div/div/div[5]/div[3]/button using a
Puedes leer más sobre el alcance aquí