xiaobaibailongma

参考:https://www.cnblogs.com/xiaobaibailongma/p/12218933.html

 

参考:https://blog.csdn.net/u011541946/article/details/74359517

 

参考:https://blog.csdn.net/linxi9322/article/details/78789452

 

 

关于文件上传,这边介绍一个第三方工具,叫AutoIt,简单来说,这个是一个能支持桌面GUI自动化的工具,它支持脚本语言编写。这里,我们用AutoIt来做文件上传的演示。在Selenium脚本中如果需要AutoIt来协助这个文件上传功能,大概步骤是这样的:

1. Selenium点击web产品上的文件上传按钮,弹窗上传框。

2.执行AutoIt实现准备好的脚本文件,这个脚本文件写了关于上传什么文件的一个.exe文件。

所以,我们先来介绍如何下载和安装AutoIt。

1)打开AutoIt的官网下载地址

https://www.autoitscript.com/site/autoit/downloads/

2)点击下载zip

 

 

 

 

 

两种下载方法都可以,这里我想下载的是zip,解压出来如下图.

 

 

 

 

3)点击SciTe文件夹,我们打开脚本编辑器。

 

 

 

 

 

4)打开百度图片上传窗口,同时打开AutoIt 脚本编辑器和元素定位器。

拖动元素定位器上那个靶点形状按钮到文件上传弹窗,能够捕获到一些元素信息。

 

 

 

 

5)在AutoIt脚本编辑器里输入如下脚本,不要下面我写的备注哈。

 

 

 

ControlFocus("文件上传","","Edit1")

ControlSetText("文件上传","","Edit1","C:\Users\del\Desktop\123.gif")

ControlClick("文件上传","","Button1")

 

 

 

 

6)编译成一个.exe文件

先保存到本地,例如默认路径保存,名称为UploadFile.au3,

 

然后在AutoIt脚本编辑器中点击Tools菜单,选择compile,会在同路径下生成一个UploadFile.exe的文件,

 

我们把这个文件拷贝到桌面,待会在Selenium脚本要使用。

 

 

 

 

 

 

 

 

 

7)Selenium脚本执行123.exe文件,观察文件是否上传。             此处python我的文件是 UploadFile.exe

 

 

from selenium import webdriver
import os
from time import sleep

driver = webdriver.Firefox()               # 指定和打开浏览器
driver.get(\'http://www.baidu.com\')

sleep(5)

driver.find_element_by_xpath("//*/span[@class=\'soutu-btn\']").click()  #点击照相机这个按钮

sleep(5)

#driver.find_element_by_xpath("//*/input[@class=\'upload-pic\']").click()  #点击本地上传图片

driver.find_element_by_xpath("//*[@id=\'form\']/div/div[2]/div[2]/input[@class=\'upload-pic\']").click()  #点击本地上传图片

sleep(5)

os.system("C:\\Users\\del\\Desktop\\UploadFile.exe")  # 调用upload.exe上传程序  #通过Python 的os模块的system()方法可以调用exe程序并执行


sleep(35)


driver.close()

 

分类:

技术点:

相关文章:

  • 2022-01-31
  • 2022-01-04
  • 2021-11-01
  • 2021-08-03
  • 2022-12-23
  • 2021-08-31
  • 2022-12-23
  • 2021-12-29
猜你喜欢
  • 2022-12-23
  • 2021-10-23
  • 2022-12-23
  • 2021-10-07
  • 2018-10-23
  • 2021-10-07
相关资源
相似解决方案