无法获取对 Microsoft Edge/Chrome/Firefox 的控制错误

本文提供了在 Microsoft Power Automate 中运行包含启动浏览器操作的桌面流时可能发生的错误的解决方法。 如果在浏览器更新后出现错误并且具有相同症状,请参阅浏览器自动化操作在浏览器更新后停止工作

适用于: Power Automate
原始 KB 数: 5001691

症状

方案 1

在 Microsoft Power Automate 中运行包含 启动新 Microsoft Edge启动新 Chrome启动新 Firefox 操作的桌面流时,执行会失败并显示以下错误消息之一:

  • 未能获取对 Microsoft Edge 的控制(内部错误或通信故障)。

  • 未能获取对 Chrome 的控制(内部错误或通信失败)。

  • 未能取得对 Firefox 的控制(内部错误或通信失败)

重要

若要解决该错误:

  1. 首先,使用 Power Automate for desktop 故障排除工具运行 UI/Web 自动化问题排查。
  2. 诊断运行时,将生成一个标识问题的报表。 可以通过按诊断检查完成后出现的 “修复 ”按钮来解决这些问题。
  3. 如果疑难解答无法解决错误,请继续阅读本文中提供的潜在原因和解决方法。

方案 2

当您运行启动浏览器动作时,如果浏览器是由不同于运行 Power Automate 桌面版的系统用户启动的,错误也会发生。 有关建议的解决方法,请参阅本文中的 原因 3

原因 1:Web 扩展未正确安装或启用

Microsoft Edge、Google Chrome 或 Firefox Web 扩展未正确安装或启用。

验证与原因 1 相关的问题

  • 使用其中一个相应的动作执行桌面流时由于失败,会显示错误消息。

  • 特定浏览器的 Web 记录器启动显示以下消息:

    显示包含用于安装 Web 扩展的“获取扩展”按钮的消息的屏幕截图。

  • Web 扩展可能似乎在特定浏览器的扩展存储库中安装并启用,但无法执行。

解决方案

  1. 从 Power Automate 桌面设计器安装相应的 Web 扩展。

    显示如何从列表中安装 Web 扩展的屏幕截图。

  2. 即使扩展似乎已安装并已启用,也需要将其删除并重新安装。

  3. 重新启动浏览器。

原因 2:启动浏览器操作用时超过默认的超时时间

启动浏览器所需的时间超过操作的默认超时时间(30 秒)。 自动化尝试在打开浏览器之前接管其控制,因此导致启动浏览器动作失败。

验证原因 2 的问题

执行某个相应操作的桌面流时失败,并显示错误消息。 此行为可能不一致(某些执行可能成功)。

决议 1

在“启动新 Edge”、“启动新 Chrome”或“启动新 Firefox”操作中,增加“高级”部分中“网页加载超时”和“超时”参数的值。 例如,将这些值设置为 120 秒。

如果此调整无法解决问题,请按照 第 2 或第3 号决议中所述的步骤进行作。

决议 2

使用“启动浏览器”操作来启动相应浏览器的进程。 然后,可以使用附加的 Launch Browser 动作,将模式设置为 附加到正在运行的实例 ,并结合 转到网页 动作来解决该问题。

  1. 插入新的启动浏览器的操作,如下所示:

    • 启动新 Microsoft Edge
    • 启动新 Chrome
    • 启动新 Firefox
    • 启动新 Internet Explorer
  2. 设置动作的参数:

    • 启动模式:启动新实例

    • 初始 URL:默认 URL

    • 可以根据需要设置其余参数。

      一张显示如何设置“启动新浏览器”动作参数的屏幕截图。

  3. 插入错误处理策略:

    • 在操作窗口中选择“出错时”选项:

      显示如何使用 On 错误选项插入错误处理策略的屏幕截图。

    • 在下拉列表中选择“继续流运行>转到下一作”,然后选择“保存”。

      显示如何选择“继续流运行”和“转到下一步操作”选项,然后保存设置的屏幕截图。

  4. 插入一个与步骤 1 使用的浏览器相同的新启动浏览器动作,并设置该动作的参数:

    • 启动模式:附加到正在运行的实例

    • 连接到浏览器选项卡:通过 URL

    • 选项卡 URL:步骤 1 中插入的 URL。

    • 生成的变量:将新的浏览器变量替换为步骤 1 中生成的变量的名称。

      显示如何将新浏览器变量替换为步骤 1 中生成的变量名称的屏幕截图。

  5. 选择出现错误选项并执行以下步骤:

    1. 启用重试操作如果发生错误选项。

      显示如何在发生错误时启用“重试操作”选项的屏幕截图。

    2. 通过选择次数将次数设置为 20

    3. 通过选择秒数将间隔设置为 5

    4. 选择“保存”

  6. 插入转到网页动作,并设置该动作的参数:

    • Web 浏览器实例:由启动浏览器操作生成的变量。

    • 导航到 URL

    • URL:要导航到的 URL。

      显示如何配置“访问网页”动作参数的屏幕截图。

决议 3

使用启动浏览器操作来启动相应的浏览器进程。 然后,可以将另一个“启动浏览器”操作与模式设置为“附加到正在运行的实例”的操作结合使用,然后将等待操作设置为一定的持续时间,以解决问题。

  1. 插入新的启动浏览器操作,如下所示:

    • 启动新 Microsoft Edge
    • 启动新 Chrome
    • 启动新 Firefox
    • 启动新 Internet Explorer
  2. 设置动作的参数:

    • 启动模式:启动新实例

    • 初始 URL:默认 URL

    • 可以根据需要设置剩余参数。

      展示如何设置“启动新浏览器”操作参数的截图。

  3. 插入错误处理策略:

    • 在操作窗口中选择出错时选项:

      显示如何使用 On 错误选项插入错误处理策略的屏幕截图。

    • 在下拉列表中选择“继续流运行>转到下一作”,然后选择“保存”。

      显示如何选择“继续执行流”和进入下一操作选项,然后保存设置的屏幕截图。

  4. 插入 等待 作并将其持续时间设置为 90 秒(根据需要调整持续时间)。

    显示如何插入值设置为 90 的 Wait作的屏幕截图。

  5. 为步骤1中使用的同一浏览器插入另一个启动浏览器操作,并配置参数:

    • 启动模式:附加到正在运行的实例

    • 附加到浏览器标签页:通过 URL

    • 选项卡 URL:步骤 1 中插入的 URL。

    • 生成的变量:将新的浏览器变量替换为步骤 1 中生成的变量的名称。

      显示如何将新浏览器变量替换为步骤 1 中生成的变量名称的屏幕截图。

原因 3:使用与用于运行 Power Automate 桌面版(版本 2.38 或更高版本)不同的系统用户启动浏览器

此问题可能在有监督和无监督的桌面流模式下发生。

若要解决此问题,请确保使用用于运行 Power Automate 桌面版的同一系统用户帐户启动浏览器。

常规检查

如果上述作无法解决问题,请确保满足以下条件:

  • 确保计算机上存在具有值的ComSpec环境变量C:\WINDOWS\system32\cmd.exe
  • (仅 Chrome)选中参数并将其设置为 exit_typenormal%localappdata%\Google\Chrome\User Data\Default\Preferences
  • 手动清除浏览器缓存和 Cookie,然后重启浏览器。