【问题标题】:Handling Windows Pop ups in Robot Framework在 Robot Framework 中处理 Windows 弹出窗口
【发布时间】:2026-02-01 19:00:01
【问题描述】:

如何接受 Mozila firefox 的窗口弹出来在 ROBOT FRAMEWORK 中保存或打开文件?

【问题讨论】:

标签: python robotframework


【解决方案1】:

我认为这只是您解决当前问题的临时解决方案。因此,您只需使用库 python pynput 创建自己的自定义键盘,如下所示。

from pynput.keyboard import Key, Controller
    keyboard = Controller()
    # Press and release key
    def acceptDownloadff():
        keyboard.press(Key.down)
        keyboard.release(Key.down)
        keyboard.press(Key.enter)
        keyboard.release(Key.enter)

这是一个示例机器人框架,只需从您的 python 文件中调用此关键字即可:

*** Settings ***
Library    Selenium2Library
Library    test.py
*** Variables ***
${url}                yoururl
*** Test Cases ***
Make Something
    open browser            ${url}      ff  
    Click Element        id=dl
    acceptDownloadff

我已经测试过了。如果您无法找到其他解决方案,它可以解决您的问题。

【讨论】:

  • 但这需要某种ID...问题是我要单击的元素不在网页上,而是在我正在自动化的网页外部的firefox下载提示...
  • 我仍然对您的问题感到困惑。如果可能的话,您应该在您的问题中添加更多信息,这样可以让每个人都能理解并帮助您
  • @MandarBhale 我的答案不是专注于 ID 或点击它即将处理 firefox 弹出的元素
  • 我认为这个解决方案有一些问题..*.com/questions/45995869/…我找不到使用 writtem 库的地方...应该有函数调用吗?
  • @MandarBhale 你知道如何在机器人框架中编写自定义库吗?
【解决方案2】:

您可以使用 AutoIt 库来处理这种类型的窗口,如果无法使用下面的示例,请使用 autoit 窗口信息验证以放置正确的 ID

下载:
睡觉    1
赢激活    保存图片
控制集文本    保存图像    \    Edit1    c:\fileSaved.jpg
控制点击    保存图片    \    Button2

上传:
睡觉    1
赢激活    文件上传
控制集文本    文件上传    \    Edit1    c:\fileUploaded.jpg
控制点击    文件上传    \    Button1

安装 autoit 库后,您可以访问以下关键字定义:
file:///C:/RobotFramework/Extensions/AutoItLibrary/AutoItLibrary.html

【讨论】: