2014-10-27 64 views
0

我为我的兄弟创建了一个脚本,可以自动登录他的大学帐户,下载他的日历文件,然后将其上传到Google日历,因为这是他使用的。当Google日历提示我选择要导入的.ics文件时,我一直点击“浏览”,但当资源管理器窗口出现选择一个文件(我相信Windows常用对话框)时,Python代码类型'暂停',因为它在该窗口关闭之前停止运行。这就是我的意思是:使用Python来处理Mozilla中的弹出窗口

browse = driver.find_element_by_css_selector('.gc-dialoginput') 
browse.click() #Using Selenium here, this is the click that opens up that pop-up 'File Upload' Window 

"""The showing of notepad here is just to see when this code would run. 
I have it minimized to see if ShowWindow works, and it does after the pop-up is closed""" 

hwnd = win32gui.FindWindowEx(0, 0, 0, "Untitled - Notepad") 

win32gui.ShowWindow(hwnd, win32con.SW_SHOWNORMAL) 

print "test" 

enter image description here

ShowWindow函数,并打印“测试”行中的所有工作之后我手动关闭文件上传窗口。我的目标是使用win32api.SendMessage将文件名发送到窗口中的输入,但打开时没有任何工作:(我只有一小部分代码在这里,但其余的工作正常,除非它到达这一点。任何帮助,将不胜感激。如果需要更多信息/全码,请让我知道

+0

这个问题可能更适合堆栈溢出,因为Code Review用于检查已经工作的代码。 – jsanc623 2014-10-27 14:28:30

+0

Webdriver无法处理打开的文件上传窗口,它不是DOM的一部分。相反,在您单击上传按钮之前,将完整的文件路径发送到输入元素。 – 2014-10-27 15:11:34

回答

0

我会建议使用硒,而不是PyWin32:!

你可以安装Selenium作为Firefox的插件,然后用它记录你想在Firefox中做什么您可以将录音导出为Python并根据需要进行编辑。

相关问题