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

Python Selenium网页抓取时无法正确输入特殊字符ö问题求解

  • 先确认Python脚本编码声明正确,在文件最顶部添加如下声明,避免源码层面的字符编码解析错误:
# -*- coding: utf-8 -*-
  • 优先使用JavaScript注入的方式修改输入框内容,该方式不受系统输入法、输入框按键拦截逻辑的影响,兼容性远高于send_keys,修改对应代码段如下:
if actualLetter == "Ö":
    input_char = "Ö"
elif actualLetter == "ö":
    input_char = "ö"
else:
    input_char = actualLetter
# 用JS直接给输入框赋值
web.execute_script("arguments[0].value = arguments[1]", text_done, input_char)
# 如果输入框绑定了输入事件需要触发,可以再加一行触发事件
web.execute_script("arguments[0].dispatchEvent(new Event('input'))", text_done)
  • 提前校验你抓取到的actualLetter是否符合预期:可以打印repr(actualLetter)查看字符的实际编码值,排除抓取到带不可见字符、编码乱码的情况,避免判断分支没有走到预期路径。
  • 如果一定要使用send_keys方法,可以先执行text_done.clear()清空输入框、text_done.click()聚焦输入框后再调用输入方法,同时检查你注释掉的keyboard相关全局钩子是否会影响Selenium的模拟按键输入。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 22:24:04