Espero se encuentren muy bien, acudo a su ayuda ya que tengo el siguiente inconveniente:
debo ingresar los valores de una data table en una transacción de SAP, pero al momento de llegar a la última fila y hacer el scroll para encontrar la siguiente en donde va a escribir, se pierde el foco del campo; revisando el selector se evidencia que el ID cambia. he tratado de hacer foco en el nuevo ID de la siguiente manera pero no me ha sido posible.
Algunas tablas de SAP pueden ser un poco complicadas de automatizar, y hay varias maneras de hacerlo, pero algunas de ellas son poco usuales:
Podrías adjuntar una captura de las opciones que te da UiExplorer, para ver si se puede utilizar algún otro valor para identificar la tabla, que no sea la ID?
Otra manera, pero no es muy recomendable es usando SAP Scripts, SAP tiene por defecto un Script Recorder, y el resultado del recording se puede ejecutar usando la actividad “Invoke VBScript”
Finalmente, aunque puede llegar a no ser muy estable, puedes automatizar con hotkeys, pero repito, esta última sería la menos segura, ya que dependería de donde tienes el foco.
Para escribir los datos, usaría un Set to Clipboard, con un Send Hotkey (Ctrl+V))
Para navegar dependería de la tabla, pero normalmente con “Tab” o las flechas del teclado, podrias saber donde tienes el foco.
Recuerdo que una vez me pasó algo similar, y el problema no era la ID, sino que era el Row number (index), es decir:
Para el bot solo existian las rows visibles. Entonces, cuando has rellenado las rows 1-10 (por ejemplo, y haces scroll down esperando tener las rows 11-21, esas rows resetean sus index de 1-10 otra vez.
Si eso es lo que te está pasando, la solución es ver cuantas tienes visibles, e ir iterando de 1-10 el row index, hasta que llegues al Rows.Count (suponiendo que hay 10 rows visibles, si hay más, o menos, modifica el numero de loops!)
Ejemplo:
Total = 35 rows
3 loops de index 1 a index 10, y ún último loop de índex 1 a index 5.
Prueba esto rellenando la 1a página, haz scroll down, y mira si el selector de row nº 1 vuelve a existir!
Respecto al selector, no creo que se pueda optimizar mucho más de lo que has hecho con la info q tenemos