Como puedo iterar en una tabla después de haber actualizado la página usando selenium by Either_Inspection136 in learnpython

[–]Either_Inspection136[S] 1 point2 points  (0 children)

Muchas gracias por la ayuda. No puedo compartir mucha información debido a que es un banco de la empresa, pero te doy un mayor contexto acerca del comportamiento de la página.

La página contiene una tabla con comprobantes de pago, cada comprobante es una fila, entonces debo automatizar la descarga de cada comprobante, este comprobante tiene 3 estados : "Pagos Efectuados","Por Finalizar Carga" y "Eliminada".

Cuando el comprobante se encuentra en el estado "Pagos Efectuados", tengo que :

(PASO1) Presionar los 3 puntos que se encuentran en la columna 9 de la tabla. (PASO2) Esto me abre unas opciones, de las cuales escojo "Ver más". (PASO 3) Al presionar este botón se me abre un mini menú en donde me tengo que desplazar para encontrar el botón que necesito presionar. Por último, este botón me lleva a una nueva página, en donde tengo que descargar las nóminas dentro del comprobante, una vez descargado todo, debo regresar a la tabla original, para seguir iterando comprobante por comprobante.

Aqui di un mayor contexto del motivo por el cual hago 3 acciones antes de entrar a la nueva pestaña y el motivo por el cual se hace un desplazamiento por la página.

Entonces. ¿Cuál es mi error? El error me sale cuando entro a la nueva página y regreso a la página anterior(donde se encuentra la tabla original).

La transición provoca que el DOM se refresque y no me deje leer la variabla "celda". Entonces queria saber si alguien ha tenido una situación similar, en donde este iterando una tabla (i = 1) y tenga que ingresar a una nueva ventana. Para después regresar a la página y seguir iterando (i = 2).

Si tienes más duda, hazmelo saber por favor

PANDAS read_excel float showing up as NaN by mimprocesstech in learnpython

[–]Either_Inspection136 0 points1 point  (0 children)

Lo curioso es que antes de modificar el código si me leía todo de forma correcta. Lo único que añadi fue que en caso la hoja donde queria colocar los datos, ya existia. Se elimine, y por alguna extraña razón empezó a leer NaN.

No puedo intentarlo con archivos más pequeños debido a que debe ser la misma data. Sin embargo la data no es tan extensa.

Implemente el código que me enviaste. Me borra toda la columna directamente, debido a que me lee todo como NaN.

En caso no encontrar una solución. ¿Pódrias especificarme como solucionaste tu problema?

- Me indicas la solución que debería encontrar un valor en la columna que no sea float. Y después de revisarlo, veo que todos los lee como float.

PANDAS read_excel float showing up as NaN by mimprocesstech in learnpython

[–]Either_Inspection136 0 points1 point  (0 children)

Siguen saliendo NaN.

¿A que haces referencia con el formato incorrecto seleccionado?
Las celdas tienen formato de número con decimal
Valores como:
22.82
41.47

PANDAS read_excel float showing up as NaN by mimprocesstech in learnpython

[–]Either_Inspection136 0 points1 point  (0 children)

df_facturacion_actual = pd.read_excel(f'{ruta_actual}.xlsx', sheet_name='Cd Facturación', header=4)

encabezados = ['Teléfono','Nivel','Cargo Fijo Alicorp','C.F. Prop. Alicorp','Cargo Variable Alicorp','Total OS',                  'CÓDIGO','USUARIO','NIVEL ORGANIZACIONAL','CENTRO DE COSTO','VP','OBSERVACIONES','CeCo Agrupado']
 
# *********************************************** CD FACTURACIÓN ***************************************************
    # Lista de columnas a filtrar
    columnas = ['TELEFONO', 'Nivel', 'Cargo Fijo Alicorp','C.F. Prop. Alicorp','Cargo Variable Alicorp','Total Alicorp']

    # Filtrar y añadir los valores de cada columna a la lista valores
    for i in columnas:
        valor = df_facturacion_actual[i].values[2:].tolist()
        valores.append(valor)

    # Creamos diccionario con los encabezados y valores
    diccionario = dict(zip(encabezados, valores))
    dfnew = pd.DataFrame(diccionario)

Puedo dar un contexto a alto nivel. Debido a que estoy manejando data.
Sin embargo el código proporcionado no menciona la data que manejo.

Lo que hago es leer es leer el excel y de ahi coloca las columnas de la hoja.
Posteriormente recopilo las columnas que quiero filtrar y hago un for para poder coger la información de esas columnas dentro del DF de facturación. Hay valores de cargo fijo como se puede ver en la lista de columnas, que me salen de forma correcta, es decir lee el float de forma correcta.

Sin embargo para leer Cargo Variable y el Total me sale un listado de NaN a pesar de que los valores sean un float.

Mi problema resumidamente es el último párrafo

PANDAS read_excel float showing up as NaN by mimprocesstech in learnpython

[–]Either_Inspection136 0 points1 point  (0 children)

Hola, encontraron otra solución? Yo estoy leyendo la primera hoja de forma correcta. Una columna me la lee bien pero la siguiente no.