【问题标题】:Python file dialog freezing issue while using selenium使用 selenium 时 Python 文件对话框冻结问题
【发布时间】:2019-04-24 23:55:40
【问题描述】:

为了在校园打印东西,我需要登录网页并在浏览器上手动提交打印作业,但我想在本地提交作业。所以我写了一个使用 Selenium 自动提交打印作业的 Python 小脚本。我已经验证它可以工作,但有一件事让我很烦恼。即使在我选择了要打印的文件之后,文件对话框也会一直停留在那里,直到实际代码运行到最后。

代码结构如下。
1.在终端输入信息(用户名、密码、使用哪台打印机、多少份等)。
2.调用tkinter.Tk().withdraw()选择文件(选择文件后会打印“Submitting a print job...”,如截图所示)
3. 使用我上面收集到的信息来做实际的 Selenium 工作来提交工作

如何让文件对话框在我选择文件后立即消失?这是一个异步问题吗?

【问题讨论】:

  • 请阅读为什么screenshot of HTML or code or error is a bad idea。考虑使用基于格式化文本的相关 HTML、代码试验和错误堆栈跟踪来更新问题。
  • @DebanjanB 首先,感谢您的回复。我明白您为什么不鼓励使用屏幕截图,但该屏幕截图不包含错误/代码。我只是展示了文件对话框发生了什么。

标签: python selenium asynchronous tkinter freeze


【解决方案1】:

我注意到许多其他人也遇到了类似的问题。虽然许多人通过在 askopenfilename() 行之前或之后添加 Tk().update() 解决了这个问题,但我的问题只有在 Tk() 时才消失。在 askopenfilename() 行之前和之后都添加了 update() 行。仅供参考,我正在使用 python 3.7 在 macOS 上运行脚本。

【讨论】:

    猜你喜欢
    • 2014-01-17
    • 1970-01-01
    • 1970-01-01
    • 2022-11-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多