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.