如何在Windows操作系统上使用Python处理系统窗口?

时间:2016-12-15 06:50:22

标签: python selenium tkinter wxpython selenium-chromedriver

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

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

我的脚本将用于Windows 7,8& 10。

2 个答案:

答案 0 :(得分: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)

P.S。如果此代码无法正常工作,请告诉我

答案 1 :(得分:0)

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

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