我一直在尝试使用python通过硒上传文件。我一直在遵循使用指南:
driver.find_element_by_id("IdOfInputTypeFile").send_keys(os.getcwd()+"/image.png")
来自此站点:http://allselenium.info/file-upload-using-python-selenium-webdriver/
但是,这仅在手动单击上载,弹出opload文件并关闭它之后才起作用。如果我先运行命令,它什么也没做。
但是,我无法关闭Selenium中的弹出窗口。因此,这不是自动化的可行方法。
答案 0 :(得分:0)
如果您要用Java或python上传文件,这时会打开窗口弹出菜单,则可以安全使用Autoit,始终使用Java或python。 AutoIT是上传文件的最佳选择。
您只需要通过cmd屏幕安装AutoIt https://pypi.python.org/pypi/PyAutoIt/0.3或仅“ pip install -U pyautoit”
在脚本页面上输入“ import autoit”
在脚本中弹出文件对话框之前,键入以下内容:
您可以使用代替control_send的方式
autoit.control_set_text("Open","Edit1",r"C:\Users\uu\Desktop\Filename.txt")
将其导入您的代码中
import os
import os.system('C:\images\Filename.exe') #path of the .exe file
希望它对您有帮助:)