【问题标题】:ChromeDriver 78 Seems To Be Disabling allow-sync-xhr-in-page-dismissal FlagChromeDriver 78 似乎正在禁用 allow-sync-xhr-in-page-dismissal 标志
【发布时间】:2019-11-05 15:25:29
【问题描述】:

问题

几个 Chrome 版本之前,Chrome deprecated a feature allowing for synchronous XHR during page dismissal。在几家企业抱怨对业务造成不可预见的影响后,他们决定在 Chrome 80 中默认该行为并允许临时解决方法,直到 Chrome 82。

似乎在升级到 Chrome/ChromeDriver 78 后,我们的应用程序中的行为与同步 XHR 卸载事件被阻止一致。此行为仅在 ChromeDriver 打开 Chrome 时出现,手动打开 Chrome 时无法重现。即使在打开驱动程序时未指定 ChromeOptions 也会发生这种情况。在 ChromeDriver 生成的 Chrome 窗口中,我导航到 chrome:\\flags 并搜索 #allow-sync-xhr-in-page-dismissal 标志,我看到它设置为“默认”。设置为“启用”后,我们的问题就消失了。但是,当我在手动启动的 Chrome 窗口中检查此标志时,它也设置为“默认”。

我的问题

  1. 为什么通过 ChromeDriver 与手动打开的 Chrome 会话启动时行为似乎有所不同?

  2. 强制ChromeDriver通过ChromeOptions将#allow-sync-xhr-in-page-dismissal设置为启用的正确方法是什么?

【问题讨论】:

    标签: google-chrome selenium-chromedriver


    【解决方案1】:

    回答问题 2:

    chromeOptions.AddArgument("--enable-features=AllowSyncXHRInPageDismissal");
    

    【讨论】:

    • 我能够使用 'chromeOptions.AddArgument("--enable-features=AllowSyncXHRInPageDismissal");'这解决了这个问题。但是,我仍然想弄清楚为什么 ChromeDriver 的行为与我只是打开 Chrome 的行为不同。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-09
    • 2011-09-19
    • 1970-01-01
    • 2020-12-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多