在已打开的对话框中用python选择文件

1 投票
1 回答
3255 浏览
提问于 2025-04-18 04:57

我用Selenium在浏览器里执行了一些操作(尝试过Chrome和Firefox),是在Mac上进行的。

我用Selenium的一个功能点击了一个按钮,这个按钮会打开一个操作系统级别的对话框,让我可以选择并“打开”一个文件。我知道Selenium无法和对话框互动,但有没有什么Python的功能可以做到呢?Tkinter似乎只能操作它自己打开的对话框,而不能处理已经打开的对话框。

这是代码的一部分,最后一个让对话框打开的Selenium功能是加粗的:

import webbrowser  
from from selenium import webdriver  
element = webdriver.Chrome()  
element.get('http://www.somewebsite.com')  
uploadfunction = driver.find_element_by_id('upload_file').click()  

我非常坚持要通过Python(通过命令行)来完成这个,而不想用其他语言。

1 个回答

1
import win32gui

win32gui.FindWindow(ClassName,WindowName) #should give you the control of the dialog that you want.  

另外,可以看看这个问题的被接受答案,里面有一个(虽然有点乱)关于对话框的辅助工具。

如果你还有问题,随时告诉我。

撰写回答