You need to enable JavaScript to run this app. 如何让Laravel Dusk的scrollIntoView方法正常运行及适配版本查询
优惠活动
大模型
产品
解决方案
定价
更多

如何让Laravel Dusk的scrollIntoView方法正常运行及适配版本查询

适配方案:解决Laravel Dusk scrollIntoView 执行失效问题

核心适配版本组合(兼容现有Laravel 6.2、PHP 7.2基线)

根据当前环境的版本约束,无需调整Laravel、PHP版本,仅需匹配以下两类依赖的稳定版本,即可解决scrollIntoView脚本静默执行失效的问题:

  • 优先推荐的稳定组合
    • laravel/dusk:6.22.0:该版本是Laravel 6.x生态下最后一个兼容PHP 7.2的Dusk小版本,修复了6.11~6.21版本存在的脚本执行上下文绑定异常、Chrome 88+版本DevTools协议权限拦截问题,完全支持原生scrollIntoView()方法的正常调用,且不会触发跨版本依赖冲突
    • 可保留现有ChromeDriver:88.0.4324.96版本无需替换,该驱动版本与升级后的Dusk 6.22.0完全匹配,不存在协议适配问题
  • 低改动备选组合(无需升级Dusk版本)
    • 保持现有laravel/dusk:6.11版本不变
    • 将ChromeDriver降级至86.0.4240.22,该版本驱动对应的Chrome浏览器DevTools协议未引入88版本的权限校验逻辑,可兼容Dusk 6.11的JS注入方式,不会拦截scrollIntoView的脚本执行

落地操作注意事项

  • 禁止将laravel/dusk版本升级至6.23及以上,该版本开始要求PHP 7.3+运行环境,会与当前PHP 7.2基线产生依赖冲突
  • 替换依赖时不要使用Dusk自带的驱动自动安装功能,该功能默认拉取与当前Chrome浏览器版本匹配的最新驱动,可能引入后续版本的协议不兼容问题
  • 调用scrollIntoView时优先使用Dusk提供的原生方法,不要手动通过script()方法注入自定义JS实现滚动逻辑,避免触发上下文绑定异常

风险提示:不要使用ChromeDriver 90及以上版本,这类版本已经完全移除对旧版DevTools协议的支持,会导致全系列Dusk 6.x版本出现元素定位、脚本执行类问题

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.11.03 11:06:02