IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> selenium+python处理文件上传 -> 正文阅读

[Python知识库]selenium+python处理文件上传

selenium处理文件上传大致会有两种情况,一种是文件上传使用的是input标签元素,即<input type="file">,那么对这个input标签元素使用sendkeys方法输入文件的路径就可以完成上传,另一种是调用windows系统完成文件上传,即文件上传会弹出windows弹窗,此时则需要借助Autoit这样一个小工具结合selenium完成。
1、文件上传使用的是input标签元素,selenium+python代码示例参考如下:

import time
from selenium import webdriver

# 实例化浏览器,访问目标网页,窗口最大化
driver = webdriver.Chrome()
driver.get("https://www.layui.com/v1/demo/upload.html")
driver.maximize_window()
# 定位上传元素
element=driver.find_element_by_xpath("//input[@type='file' and @lay-type='file']")
time.sleep(2)
# 输入文件路径,上传文件
element.send_keys("D:\\timg.jpg")
time.sleep(2)
# 退出浏览器
driver.quit()

2、windows系统弹窗完成文件上传,需使用Autoit;具体操作步骤如下。
第一步,安装Autoit,下载后,默认安装即可。
第二步,Autoit脚本编写,Autioit脚本执行的内容主要从打开上传按钮后开始。
(1)使用Autoit windows info组件识别windows窗口中的元素
在这里插入图片描述
按住Finder Tool按钮后拖动到指定位置识别元素,显示元素的各种属性。
(2)使用SciTE Script Editor组件编写文件上传脚本
在这里插入图片描述
脚本解释如下:
ControlFocus("打开","","Edit1");表示将当前的焦点聚焦到打开的弹窗上
ControlSetText("打开","","Edit1","D:\timg.jpg");表示选中需要上传的文件
ControlClick("打开","","Button1");表示点击弹窗中的打开按钮
(3)保存编写脚本,将编写的脚本转化为exe格式;选中编写的脚本,点击鼠标右键选择Compile Script点击确定。
在这里插入图片描述
第三步,selenium与Autoit脚本结合,实现文件上传。
(1)使用selenium点击文件上传按钮
(2)使用Java中的Runtime类引入Autoit脚本
例如编写完成的Autoit脚本存放在D盘根目录下,则引入方式为:Runtime.getRuntime().exec(“D:upload.exe”)
(3)完成后续操作
Autoit+selenium+python完成文件上传代码示例参考如下:

import os
import time
from selenium import webdriver

# 实例化浏览器,访问目标网页,窗口最大化
driver = webdriver.Chrome()
driver.get("https://www.layui.com/v1/demo/upload.html")
driver.maximize_window()
# 点击上传按钮
driver.find_element_by_xpath("//input[@type='file'and @lay-type='file']").click()
# 运行Autoit脚本,执行上传
os.system("D:upload.exe")
# 停留2秒
time.sleep(2)
# 退出浏览器
driver.quit()
  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-08-18 12:39:58  更:2021-08-18 12:40:02 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/26 11:13:17-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码
数据统计