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

Chrome 120更新后SeleniumBasic操作MS Teams Web App账号错误求助

Chrome 120更新后SeleniumBasic操作MS Teams Web经典版切换iframe的Token错误解决

问题原因

Chrome 120版本对浏览器隐私策略做了关键调整:

  • 强化了跨上下文存储访问限制,默认阻止iframe读取主窗口的第三方Cookie、会话存储等数据。Teams经典版的experience-container iframe依赖主域名下的Microsoft身份验证会话(账号token),现在无法直接读取,触发acquireTokenSilent时找不到账号对象。
  • 旧版本SeleniumBasic的ChromeDriver可能未适配Chrome120的新会话隔离规则,导致会话状态无法在主窗口与iframe间共享。

解决方法

1. 配置Chrome允许跨上下文存储访问

初始化ChromeDriver时添加启动参数,解除对第三方Cookie和跨站点存储的限制:

Dim options As New ChromeOptions()
' 允许第三方Cookie
options.AddArgument("--allow-third-party-cookies")
' 禁用站点隔离试验,减少跨上下文访问限制
options.AddArgument("--disable-site-isolation-trials")
' 启用存储访问API,支持iframe请求主域存储权限
options.AddArgument("--enable-storage-access-api")

' 初始化带配置的ChromeDriver
Dim myChrome As New ChromeDriver(options)

2. 复用Chrome用户数据目录保留登录会话

指定Chrome的用户数据目录,让Teams的登录状态持久化,避免每次启动都重新验证,同时确保iframe能读取到已有的账号会话:

' 替换为你本地Chrome用户数据的实际路径,默认路径示例:C:\Users\你的用户名\AppData\Local\Google\Chrome\User Data
options.AddArgument("--user-data-dir=C:\Users\YourName\AppData\Local\Google\Chrome\User Data")
' 指定使用默认配置文件
options.AddArgument("--profile-directory=Default")

注意:第一次启动时手动登录一次Teams经典版,后续启动会自动复用该登录会话,iframe即可获取到账号对象。

3. 优化iframe切换逻辑,等待完全加载

之前的代码仅检查iframe元素存在,可能内部脚本尚未初始化账号会话。添加显式等待,确保iframe加载完成后再切换:

Dim wait As New WebDriverWait(myChrome, TimeSpan.FromSeconds(15))
' 等待iframe元素出现并可交互
Dim iframeElement As IWebElement = wait.Until(Function(d) 
    Dim elem = d.FindElementByXPath("//iframe[starts-with(@id,'experience-container')]")
    Return elem IsNot Nothing AndAlso elem.Displayed
End Function)

myChrome.SwitchToFrame(iframeElement)

' 等待iframe内部账号相关元素加载完成(替换为Teams内实际的账号标识元素)
wait.Until(Function(d) d.FindElementByXPath("//div[@data-tid='meProfile']") IsNot Nothing)

4. 升级SeleniumBasic与ChromeDriver

确保SeleniumBasic版本(建议v2.0.9.0及以上)和ChromeDriver版本与Chrome 120完全匹配,旧版本的驱动可能无法适配新浏览器的API变化。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 23:18:24