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

SeleniumBase登录apollo.io时邮箱字段无法输入@符号问题

问题原因及解决方案

可能的原因

  • Apollo.io的登录表单存在反自动化拦截机制,当输入速度过快时,会过滤掉@这类特殊字符,以此识别并拦截机器人批量登录行为。
  • SeleniumBase的type()方法默认输入速度偏快,触发了平台的字符过滤规则,导致@符号被丢弃。

解决办法

1. 降低输入速度,模拟真实用户操作

修改driver.type()方法,添加interval参数设置字符输入间隔(单位:秒),让输入节奏更贴近真实用户:

driver.type("name=email", EMAIL, interval=0.2)
driver.type("name=password", PASSWORD, interval=0.2)

2. 用JavaScript直接设置输入框值

如果慢输入仍无效,可以绕过前端输入事件,直接通过JS修改输入框的value属性:

# 设置邮箱输入框值
driver.execute_script('document.querySelector("input[name=\'email\']").value = arguments[0];', EMAIL)
# 设置密码输入框值
driver.execute_script('document.querySelector("input[name=\'password\']").value = arguments[0];', PASSWORD)

注意:用JS设置值后,建议手动触发输入框的input事件,确保表单检测到内容变化:

driver.execute_script('document.querySelector("input[name=\'email\']").dispatchEvent(new Event("input"));')
driver.execute_script('document.querySelector("input[name=\'password\']").dispatchEvent(new Event("input"));')

3. 确认元素定位准确性

虽然当前输入了部分内容,仍可通过打印元素信息确认是否定位到目标输入框:

email_element = driver.find_element("name=email")
print(email_element.get_attribute('outerHTML'))

补充优化

如果以上方法均无效,可尝试增强Driver的反检测配置:

driver = Driver(uc=True, headless=False, incognito=True, disable_browser_extensions=True)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 12:55:02