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

使用Python自动化提交Google表单遇Selenium登录拦截如何解决

Selenium绕过Google登录检测的解决方案

Google的反爬机制会识别Selenium驱动浏览器时留下的特征标记,比如默认值为True的navigator.webdriver变量、自动化控制的开关标识等,匹配到这类特征就会触发登录拦截,你可以通过以下两种方案绕过检测:

方案1:修改原生Selenium启动配置(适配火狐浏览器)

通过修改浏览器启动参数和运行时属性,隐藏webdriver相关特征,修改后的代码如下:

from selenium import webdriver
from selenium.webdriver.firefox.options import Options
import time

options = Options()
# 禁用自动化控制特征标识
options.set_preference("dom.webdriver.enabled", False)
options.set_preference("useAutomationExtension", False)
# 排除自动化控制相关的特征开关
options.add_argument("--disable-blink-features=AutomationControlled")
options.add_argument("--no-sandbox")
# 可选:加载本地火狐用户配置,可直接使用已登录的Google账号,免去重复登录步骤
# 本地配置路径可在火狐地址栏输入about:support,找到「配置文件夹」的路径填入即可
# options.add_argument("-profile", "你的火狐本地配置文件夹路径")

web = webdriver.Firefox(options=options, executable_path='geckodriver')
# 动态删除webdriver标记
web.execute_script("Object.defineProperty(navigator, 'webdriver', {get: () => undefined})")

web.get('https://docs.google.com/forms/d/e/1FAIpQLSeRTrUApzzGYOzxBCf-0gJjWkK2OFMlZ10pZxWKHl9iS-2WuQ/viewform')

time.sleep(2)

input('Check if working')

方案2:使用undetected-chromedriver(推荐)

这个第三方库专门修改了Chrome驱动的底层特征,对Google反爬的绕过效果远好于原生Selenium,用法简单,适配性更高。
首先安装依赖:pip install undetected-chromedriver
示例代码:

import undetected_chromedriver as uc
import time

# 可选:添加user_data_dir参数加载本地Chrome用户配置,保留登录状态
# web = uc.Chrome(user_data_dir="你的Chrome本地用户数据路径")
web = uc.Chrome()
web.get('https://docs.google.com/forms/d/e/1FAIpQLSeRTrUApzzGYOzxBCf-0gJjWkK2OFMlZ10pZxWKHl9iS-2WuQ/viewform')
time.sleep(2)
input('Check if working')

注意事项

  • 不要短时间内多次重复提交表单,否则即便绕过浏览器检测,也可能触发Google的行为风控拦截
  • 若使用加载本地用户配置的方案,启动脚本前要完全关闭正在运行的对应浏览器,避免出现配置占用报错
  • 尽量不使用无痕模式启动浏览器,无痕模式的特征更容易被反爬机制识别

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 04:09:02