From 2dc6f765ea6ca5fff94e0942e2c4067edf1d9db7 Mon Sep 17 00:00:00 2001 From: rodley82 Date: Mon, 12 Jan 2026 22:32:51 +1300 Subject: [PATCH] funcionando ambas selecciones de empresa --- afip_seleccionar_empresa.lua | 62 ++++++++++++++++++++++++++---------- 1 file changed, 46 insertions(+), 16 deletions(-) diff --git a/afip_seleccionar_empresa.lua b/afip_seleccionar_empresa.lua index 5e632db..0a14a10 100644 --- a/afip_seleccionar_empresa.lua +++ b/afip_seleccionar_empresa.lua @@ -44,6 +44,47 @@ local function logErrorAndExit(message) error(message) end +-- Select empresa en el caso de que si se haya definido el nombre de la empresa, debe matchear con el nombre de la empresa exactamente +local function selectEmpresa(nombre_empresa) + log("afip_seleccionar_empresa:selectEmpresa nombre_empresa is " .. nombre_empresa) + -------------------------------------------------------------------- + -- 3) Esperar a que el input de la empresa esté visible + -------------------------------------------------------------------- + local selector = "input[value=\"" .. nombre_empresa .. "\"]" + + err = waitVisibleByQuerySelector(selector) + if err then + logErrorAndExit("afip_seleccionar_empresa:selectEmpresa error waiting for selector '" .. selector .. "': " .. tostring(err)) + end + + -------------------------------------------------------------------- + -- 4) Clickear el elemento + -------------------------------------------------------------------- + err = clickElementByQuerySelector(selector) + if err then + logErrorAndExit("afip_seleccionar_empresa:selectEmpresa error clicking selector '" .. selector .. "': " .. tostring(err)) + end +end + +-- Select empresa en el caso de que no se haya definido el nombre de la empresa elegimos el primer boton +local function selectEmpresaUnica() + log("afip_seleccionar_empresa:selectEmpresaUnica") + local selector = "input.btn_empresa[type='button']" + + err = waitVisibleByQuerySelector(selector) + if err then + logErrorAndExit("afip_seleccionar_empresa:selectEmpresaUnica error waiting for selector '" .. selector .. "': " .. tostring(err)) + end + + -------------------------------------------------------------------- + -- 4) Clickear el elemento + -------------------------------------------------------------------- + err = clickElementByQuerySelector(selector) + if err then + logErrorAndExit("afip_seleccionar_empresa:selectEmpresaUnica error clicking selector '" .. selector .. "': " .. tostring(err)) + end +end + ---------------------------------------------------------------------- -- Main logic ---------------------------------------------------------------------- @@ -52,7 +93,6 @@ local function main() local json = require("json") local payload, err = json.decode(json_payload) - local nombre_empresa = payload["execution_request"]["credentials"]["nombre_empresa"] -------------------------------------------------------------------- -- 1) Navegar a la página de selección de empresa -------------------------------------------------------------------- @@ -66,22 +106,12 @@ local function main() -------------------------------------------------------------------- waitSecs(5) - -------------------------------------------------------------------- - -- 3) Esperar a que el input de la empresa esté visible - -------------------------------------------------------------------- - local selector = "input[value=\"" .. nombre_empresa .. "\"]" - - err = waitVisibleByQuerySelector(selector) - if err then - logErrorAndExit("afip_seleccionar_empresa: error waiting for selector '" .. selector .. "': " .. tostring(err)) - end + local nombre_empresa = payload["execution_request"]["credentials"]["nombre_empresa"] - -------------------------------------------------------------------- - -- 4) Clickear el elemento - -------------------------------------------------------------------- - err = clickElementByQuerySelector(selector) - if err then - logErrorAndExit("afip_seleccionar_empresa: error clicking selector '" .. selector .. "': " .. tostring(err)) + if not nombre_empresa or nombre_empresa == "" then + selectEmpresaUnica() + else + selectEmpresa(nombre_empresa) end --------------------------------------------------------------------