You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python Playwright网站登录脚本输入框无法键入内容问题求助

问题排查与修复方案

错误原因

  • 选择器逻辑错误:你使用的#user input[name="email"]是查找id为user的元素内部的邮箱输入框,但实际页面中id为user的元素本身就是邮箱输入框,不存在嵌套的子输入框,选择器匹配不到元素所以输入操作无响应。密码输入框的#myInput input[name="password"]存在完全相同的错误。
  • 浏览器实例未初始化:代码中browser = p.chromium.launch()被注释,运行时会直接抛出browser未定义的错误。
  • 缺少可靠的元素等待逻辑:直接调用输入方法时可能输入框还未渲染完成,导致操作失效。
  • 未添加登录提交逻辑:当前代码填完账号密码后直接关闭浏览器,不会提交登录请求。

修复后的代码

import json
import sys
import bs4
import urllib.parse
from playwright.sync_api import sync_playwright

link = 'https://secure.libertycable.com/login.php'

with sync_playwright() as p:
    try:
        # 取消浏览器启动的注释,测试时可以加headless=False看可视化效果
        browser = p.chromium.launch(headless=False)
        context = browser.new_context(user_agent='Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.114 Safari/537.36')
        page = context.new_page()
        page.goto(link, wait_until="domcontentloaded")
        
        # 关闭弹窗,最多等2秒,没找到就跳过
        try:
            page.wait_for_selector('#close', timeout=2000)
            page.click('#close')
        except Exception as e:
            pass
        
        # 修正选择器,直接用id定位输入框,先等待元素可交互再输入
        email_input = page.locator('#user')
        email_input.wait_for(state="visible")
        email_input.fill("你的邮箱账号")
        
        pwd_input = page.locator('#myInput')
        pwd_input.wait_for(state="visible")
        pwd_input.fill("你的登录密码")
        
        # 点击登录按钮提交表单
        page.locator('.btn-green', has_text="Login").click()
        
        # 等待登录完成可以加自己的后续逻辑,这里示例等3秒看效果
        page.wait_for_timeout(3000)
        
        # 统一释放资源
        page.close()
        context.close()
        browser.close()      
    except Exception as e:
        print(f"Error in playwright script: {str(e)}")
        # 异常场景也释放资源
        if 'page' in locals():
            page.close()
        if 'context' in locals():
            context.close()
        if 'browser' in locals():
            browser.close()

内容的提问来源于stack exchange,提问作者user16050795

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.15 04:45:03