如何使用Selenium Python上传图像?

时间:2019-02-11 18:19:57

标签: python selenium

我想使用Selenium将图像上传到网站。

我必须单击的按钮的HTML在下面的图像中(突出显示)

Upload Button Element

问题是,当我单击该元素时,屏幕上会弹出一个窗口,以选择我要上传的图像,而我无法使用Selenium进行控制。 LIKE THIS

请告诉我如何从该弹出窗口中选择图像,还尝试了send_keys方法,但对我而言不成功。

2 个答案:

答案 0 :(得分:0)

  1. 您需要通过cmd屏幕安装AutoIt“ pip install -U pyautoit”

  2. 在脚本页面上输入“ import autoit”

  3. 在脚本中弹出文件对话框之前,键入以下内容:

    autoit.win_active("Open") autoit.control_send("Open","Edit1",r"Path with filename") autoit.control_send("Open","Edit1","{ENTER}")

供您参考https://pypi.python.org/pypi/PyAutoIt/0.3

请注意:单击按钮后,将执行第3节。 希望对您有帮助。

答案 1 :(得分:0)

在此quesion中,阅读:

  

上传输入控件会打开一个本机对话框(由浏览器完成),因此   通过Selenium单击控件或浏览按钮只会弹出   对话框,测试将挂起。

因此,here的解决方案:

file_input = driver.find_element_by_id("uploadBtn")
file_input.send_keys("/absolute/path/to/file")