Selenium vba - obtener valores de lista

Estoy tratando de integrar una página web con excel a través de "Selenium", el cual hace de enlace entre el navegador Chrome y Excel.

Selenium funciona mediante enlaces a botones, textos etc, lo cual he podido entender y hacer funcionar en lo que necesito, es decir extraer datos de una de excel a la página que ocupo; el proceso que hace es el siguiente:

"automatizacion" es un formulario que he creado. (Excel)

"manejador" es el enlace entre excel y el navegador web.

Con el enlace adjunto a continuación, puedo darle click a un botón que necesito, el cual se distingue con su valor único que seria : "619000142010522", así como ese valor tengo otros 40 (estudiantes).

automatizacion.manejador.FindElementByXPath("//* [@id='trEstudianteSegip_619000142010522']/td[10]/div[2]/button/i").Click

(Rectángulo rojo izquierdo, es el código que tiene cada estudiante como manera de identificarse, lo cual tengo en una lista de todos los estudiantes; el rectángulo pequeño es el botón que hago click y el cual como identificador tiene el código del estudiante señalado anteriormente)

Con ese enlace se da click al botón y abre otra ventana a la cual accedo.

Me dirje a otra ventana que tiene diferentes "textbox" para añadir las notas de estudiantes, cada cuadro con su identificador que muestro a continuación:

En el libro excel tengo ubicado en la hoja "sigep" y en el rango desde el "e20" hasta el "q20", para el primer estudinte

las extraigo de la sigueinte manera :

Set lenguaje = Worksheets("sigep").Range("E20")
Set ingles = Worksheets("sigep").Range("F20")
Set sociales = Worksheets("sigep").Range("G20")
Set edufisica = Worksheets("sigep").Range("H20")
Set edumusica = Worksheets("sigep").Range("I20")
Set artes = Worksheets("sigep").Range("J20")
Set matematica = Worksheets("sigep").Range("K20")
Set tecnicageneral = Worksheets("sigep").Range("L20")
Set biogeo = Worksheets("sigep").Range("M20")
Set fisica = Worksheets("sigep").Range("N20")
Set quimica = Worksheets("sigep").Range("O20")
Set filosofia = Worksheets("sigep").Range("P20")
Set valores = Worksheets("sigep").Range("Q20")

para luego pasarlas al navegador con lo sigueinte :

manejador.FindElementByXPath("//*[@id='1-6']").SendKeys ingles 'pega las notas

manejador.FindElementByXPath("//*[@id='2-6']").SendKeys sociales 'pega las notas

manejador.FindElementByXPath("//*[@id='3-6']").SendKeys edufisica 'pega las notas

manejador.FindElementByXPath("//*[@id='4-6']").SendKeys edumusica 'pega las notas

manejador.FindElementByXPath("//*[@id='5-6']").SendKeys artes 'pega las notas

manejador.FindElementByXPath("//*[@id='6-6']").SendKeys matematica 'pega las notas

manejador.FindElementByXPath("//*[@id='7-6']").SendKeys tecnicageneral 'pega las notas

manejador.FindElementByXPath("//*[@id='8-6']").SendKeys biogeo 'pega las notas

manejador.FindElementByXPath("//*[@id='9-6']").SendKeys fisica 'pega las notas

manejador.FindElementByXPath("//*[@id='10-6']").SendKeys quimica 'pega las notas

manejador.FindElementByXPath("//*[@id='11-6']").SendKeys filosofia 'pega las notas

manejador.FindElementByXPath("//*[@id='12-6']").SendKeys valores 'pega las notas

cada nota se transfiere al cuadro encerrado en el rectangulo rojo con  : ("//*[@id='1-6']").SendKeys ingles, Siendo los números internos el identicador para cada cuadro.

'pega las notas

Hasta aquí todo funciona perfecto, pero es para un solo estudiante, ¿Cómo lo podría hacer para los 35 o 40 estudiantes que tenga en una lista?, tanto pensar en como lograr ese procedimiento, no supe como formular la pregunta, así que explique todo el proceso, para tratar de que lo entiendan un poco mejor, les agradezco a todos por leer esta extensa consulta, ojala se pueda resolver, pues me falta muchísimo y todo lo hago de "uno en uno", no se hacerlo en bloques de manera automática.

Añade tu respuesta

Haz clic para o