如何解决Selenium调用Chrome自动加入Google Meet被拦截的问题
Selenium自动化加入Google Meet问题修复方案
核心问题原因
- 谷歌的反机器人检测机制识别到了Selenium启动的Chrome实例携带的自动化标识,因此拦截账号登录、限制Google Meet访问权限,这是你无法进入会议、无法登录的核心原因。
- 你的权限配置逻辑错误:
profile.default_content_setting_values对应值1为允许权限,2为禁用权限,你当前的配置是允许麦克风、摄像头调用,和你要禁用的需求完全相反。 - 代码使用了已废弃的Selenium 3写法
find_element_by_xpath,且你使用的固定Xpath依赖动态生成的元素ID,Google Meet页面结构更新后就会失效。 - 启动的Chrome是全新的空白实例,没有携带你本地已登录的Google账号信息,自然无法直接进入需要账号权限的会议。
修复方案
调整Chrome启动参数,绕过自动化检测
添加屏蔽自动化标识的启动参数,同时加载本地Chrome的用户配置,直接复用你已登录的Google账号,避免二次登录被拦截。
修正权限配置
直接通过浏览器配置禁用麦克风、摄像头,无需后续点击页面按钮,规避Xpath失效问题。
修复后代码
from selenium import webdriver from selenium.webdriver.chrome.options import Options from selenium.webdriver.common.by import By import time opt = Options() # 最大化窗口 opt.add_argument("start-maximized") # 屏蔽自动化标识 opt.add_argument("--disable-blink-features=AutomationControlled") opt.add_experimental_option("excludeSwitches", ["enable-automation"]) opt.add_experimental_option("useAutomationExtension", False) # 加载本地Chrome用户配置,注意替换路径中的用户名为你自己的Windows用户名 # Mac/Linux用户路径自行替换为Chrome配置存放路径 opt.add_argument(r"user-data-dir=C:\Users\你的用户名\AppData\Local\Google\Chrome\User Data") opt.add_argument(r"profile-directory=Default") # 直接配置禁用麦克风、摄像头、通知等权限 opt.add_experimental_option("prefs", { "profile.default_content_setting_values.media_stream_mic": 2, "profile.default_content_setting_values.media_stream_camera": 2, "profile.default_content_setting_values.geolocation": 2, "profile.default_content_setting_values.notifications": 2 }) # 注意替换为你自己的chromedriver路径,新版本Selenium可以不用指定executable_path,会自动匹配 driver = webdriver.Chrome(options = opt, executable_path = "path_to\\chromedriver.exe") driver.get("https://meet.google.com/yiz-fdaz-tre") time.sleep(5) # 用更稳定的定位方式找加入按钮,不用依赖动态ID # 如果页面加载慢可以加显式等待替代固定sleep join_btn = driver.find_element(By.XPATH, '//span[text()="立即加入"]/..') join_btn.click() # 不要立刻关闭窗口,根据需求调整停留时间 # time.sleep(10) # driver.quit()
注意事项
- 启动脚本前请关闭所有已打开的Chrome窗口,否则会出现用户配置被占用的报错。
- 确保你的ChromeDriver大版本和本地安装的Chrome浏览器大版本完全一致。
- 如果不需要复用本地账号,可以先手动在Selenium启动的Chrome里登录一次,后续只要不清配置就不用重复登录。
- 不要高频调用脚本重复加入会议,避免触发谷歌的临时访问限制。
内容的提问来源于stack exchange,提问作者Ryukendo Dey
相关产品推荐
相关产品推荐

