diff --git a/provision-agent.py b/provision-agent.py index 35075ac..7f7e799 100644 --- a/provision-agent.py +++ b/provision-agent.py @@ -326,24 +326,24 @@ def cloudron_panel_login(page: Page, agent: dict, bw: BitwardenHelper) -> bool: # If redirected to OIDC login page, fill that too # (Cloudron login.html and OIDC login look similar, both use #inputUsername/#inputPassword) - # Fill Cloudron login form (same selectors as invite page) + # Fill Cloudron login form (Pankow/Vue needs keyboard events, not fill()) page.wait_for_selector("#inputPassword", timeout=15000) - page.fill("#inputUsername", cloudron_email) - page.fill("#inputPassword", password) + page.click("#inputUsername") + page.keyboard.type(cloudron_email) + page.click("#inputPassword") + page.keyboard.type(password) - # Submit: Cloudron uses different button types on panel vs OIDC pages - page.evaluate("""() => { - const selectors = [ - "button.btn-primary", - 'button[type="submit"]', - 'input[type="submit"]', - "#loginSubmitButton", - ]; - for (const sel of selectors) { - const el = document.querySelector(sel); - if (el) { el.click(); return; } - } - }""") + # Submit: Cloudron Pankow UI uses
instead of