博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
selenium上传下载文件
阅读量:5331 次
发布时间:2019-06-15

本文共 1539 字,大约阅读时间需要 5 分钟。

  • 上传文件

普通上传:将本地文件的路径作为一个值放在input标签中,通过form表单提交的时候将这个值提交给服务器

上传的输入框标签必须为input

#送一个文件的绝对路径到上传输入框dr.find_element_by_name('file').send_keys('D:\\uploadfile.txt')

 

插件上传:基于flash、JavaScript、Ajax等技术实现的上传功能或插件

可以使用专门用于Windows操作自动化测试工具autoID编写代码,然后转成exe格式后在selenium上传本地文件

上传本地文件需要导入os类:import os

from selenium import webdriverimport osdr = webdriver.Firefox()dr.get("http://")dr.find_element_by_name('file').click()  #点击上传文件按钮os.system('D:\\uploadfile.txt')   #上传本地文件

 

 autoID上传文件编码

ControlFocus("文件上传","","Edit1")#识别windows窗口("title","text","controlid")WinWait("[CLASS:#32770]","",10)#窗口等待十秒ControlSetText("文件上传", "", "Edit1", "C:\Users\happy\Desktop\FileUpload.html")#想输入框中输入需要上传的地址Sleep(2000)ControlClick("文件上传", "","Button1");#点击[打开]按钮

 

 

  • 下载文件
from selenium import webdriverimport os#对火狐浏览器下载进行设置fp = webdriver.FirefoxProfile()  #设置成0代表下载到浏览器默认下载路径,设置成2则可以保存到指定的目录fp.set_preference("browser.download.folderList",2)  #True为显示开始,Flase为不显示开始fp.set_preference("browser.download.manager.showhenStarting",True) #browser.download.dir指定文件下载路径,os.getcwd()返回当前目录;综合即将文件下载到脚本所在目录fp.set_preference("browser.download.dir",os.getcwd()) #下载文件类型fp.set_preference("browser.helperApps.neverAsk.saveToDisk","applaction/octet-stream")dr = webdriver.Firefox(firefox_profile = fp)   #将设置参数传给浏览器dr.get("https://pypi.org/project/selenium/#files")dr.find_element_by_xpath("//*[@id='content']/div[3]/table/tbody/tr[3]/td[1]/span/a[1]").click()

文件拓展名与Content-type对照表:https://tool.oschina.net/commons 

 

在浏览器输入about:config查看火狐浏览器相关参数

 

转载于:https://www.cnblogs.com/hlbzzt/p/9905779.html

你可能感兴趣的文章
css3渐变画斜线 demo
查看>>
JS性能DOM优化
查看>>
设计模式 单例模式 使用模板及智能指针
查看>>
c#的const可以用于引用类型吗
查看>>
手动实现二值化
查看>>
What Linux bind mounts are really doing
查看>>
linux top命令详解
查看>>
博弈论小结
查看>>
模拟Post登陆带验证码的网站
查看>>
NYOJ458 - 小光棍数
查看>>
java中常用方法
查看>>
【Programming Clip】06、07年清华计算机考研上机试题解答(个别测试用例无法通过)...
查看>>
canvas动画
查看>>
4,7周围玩家
查看>>
关于webpack升级过后不能打包的问题;
查看>>
vue - 生命周期
查看>>
SQL Server用户权限详解
查看>>
Python正则表达式
查看>>
Linux进程间通信--命名管道
查看>>
UVa 10970 - Big Chocolate
查看>>