【问题标题】:How do I handle the system windows with Python on Windows OS?如何在 Windows 操作系统上使用 Python 处理系统窗口?
【发布时间】:2016-12-15 06:50:21
【问题描述】:

使用 Selenium Webdriver,我必须在网站上上传一些文件,但由于用于浏览文件位置的弹出窗口是由操作系统而不是浏览器处理的,因此我无法使用 Selenium 自动化该部分。

所以我想知道我需要使用哪个框架或模块来处理 Windows 操作系统的系统窗口。可以使用 tkInter 或 wxPython 吗?

我的脚本将用于 Windows 7、8 和 10。

【问题讨论】:

    标签: python selenium tkinter wxpython selenium-chromedriver


    【解决方案1】:

    其实你可以上传文件而不需要和上传提示弹窗交互。

    为了能够使用selenium 处理文件上传,您应该将文件路径发送到适当的输入字段无需点击“上传”按钮。请尝试以下操作:

    path_to_file = 'C:\\Files\\path\\to\\file'  # use your specific path instead
    driver.find_element_by_xpath('//input[@type="file"]').send_keys(path_to_file)
    

    附:让我知道此代码是否按预期工作

    【讨论】:

    • 你能再检查一下吗? <a> 是一个链接。我很确定它不能用作文件上传处理的元素。或者只是尝试实现我的代码:) 还为目标元素添加HTML 代码
    【解决方案2】:

    您可以从 Python 调用 autoit3 框架,甚至可以打开“文件打开”对话框并填写值并按“确定”或对窗口执行任何操作。 Autoit3 有一个可以使用 ctypes 加载和调用的 dll。这就是我在一两个项目中所做的。

    如果我正确理解您的问题,wxpython 或 tk 不会帮助您。它们可用于制作窗口 UI,而不是控制其他程序。

    【讨论】:

      猜你喜欢
      • 2021-09-22
      • 1970-01-01
      • 1970-01-01
      • 2022-10-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多