操作浏览器上传文件,先看代码

 1 """
2 * send_keys() 指定文件上传路径。
3 """
4 from selenium import webdriver
5 import os
6
7 file_path = os.path.abspath('./files/')
8
9 driver = webdriver.Chrome()
10 upload_page = 'file:///' + file_path + 'upfile.html'
11 driver.get(upload_page)
12
13 # 定位上传按钮,添加本地文件
14 driver.find_element_by_id("file").send_keys(file_path + 'test.txt')
15 # ……

下载文件(火狐和谷歌有区别,所有分开写)

 1 """
2 chrome浏览器实现下载
3 """
4 import os
5 from selenium import webdriver
6
7 options = webdriver.ChromeOptions()
8 prefs = {'profile.default_content_settings.popups': 0, #下载不弹窗
9 'download.default_directory': os.getcwd()} #下载路径
10 options.add_experimental_option('prefs', prefs)
11
12 driver = webdriver.Chrome(chrome_options=options)
13 driver.get("https://pypi.org/project/selenium/#files")
14 driver.find_element_by_partial_link_text("selenium-3.141.0.tar.gz").click()

 
1 """
2 firefox浏览器实现下载
3 """
4 import os
5 from selenium import webdriver
6
7 fp = webdriver.FirefoxProfile()
8
9 fp.set_preference("browser.download.folderList", 2)
10 fp.set_preference("browser.download.dir", os.getcwd())
11 fp.set_preference("browser.helperApps.neverAsk.saveToDisk", "binary/octet-stream")
12
13 driver = webdriver.Firefox(firefox_profile=fp)
14 driver.get("https://pypi.org/project/selenium/#files")
15 driver.find_element_by_partial_link_text("selenium-3.141.0.tar.gz").click()

python+selenium下载和上传文件的更多相关文章

  1. Python+Selenium学习--上传文件

    场景 文件上传操作也比较常见功能之一,上传功能操作webdriver 并没有提供对应的方法,关键上传文件的思路.上传过程一般要打开一个系统的window 窗口,从窗口选择本地文件添加.所以,一般会卡在 ...

  2. 使用MFC提供的Http类下载和上传文件

    1.下载文件 Download(const CString& strFileURLInServer, //待下载文件的URL const CString & strFileLocalF ...

  3. 2.3 利用FTP服务器下载和上传文件

    二.利用FTP服务器的下载文件 from ftplib import FTP from os.path import exists def getfile(file,site,dir,user=(), ...

  4. 在XShell中使用sz和rz命令下载和上传文件

    借助XShell,使用linux命令sz可以很方便的将服务器上的文件下载到本地,使用rz命令则是把本地文件上传到服务器 工具/原料   XShell CentOS 6.5 使用sz下载文件   1 输 ...

  5. window系统使用tftp下载和上传文件

    安装tftp32服务器 首先需要安装tftp服务器:tftpd32 , 下载以后的目录如下: tftp使用帮助 命令提示符(cmd): 直接运行tftpd32.exe tftp命令的用法: 关于tft ...

  6. ansible 通过网络下载和上传文件

    1.通过http下载文件,并且不验证证书 - name: download files by https get_url: url: https://robin.org.cn/test.zip des ...

  7. 《手把手教你》系列技巧篇(五十五)-java+ selenium自动化测试-上传文件-下篇(详细教程)

    1.简介 在实际工作中,我们进行web自动化的时候,文件上传是很常见的操作,例如上传用户头像,上传身份证信息等.所以宏哥打算按上传文件的分类对其进行一下讲解和分享. 2.为什么selenium没有提供 ...

  8. 重新想象 Windows 8 Store Apps (66) - 后台任务: 下载和上传

    [源码下载] 重新想象 Windows 8 Store Apps (66) - 后台任务: 下载和上传 作者:webabcd 介绍重新想象 Windows 8 Store Apps 之 后台任务 后台 ...

  9. 重新想象 Windows 8.1 Store Apps (91) - 后台任务的新特性: 下载和上传的新特性, 程序启动前预下载网络资源, 后台任务的其它新特性

    [源码下载] 重新想象 Windows 8.1 Store Apps (91) - 后台任务的新特性: 下载和上传的新特性, 程序启动前预下载网络资源, 后台任务的其它新特性 作者:webabcd 介 ...

随机推荐

  1. 简简单单入个Redis的门

    Redis介绍 Redis是一种key-value的存储系统,它是一种nosql(Not Only [SQL])非关系型的数据库,它支持string(字符串).list(链表).set(集合).has ...

  2. PCB layout注意事项

    1.信号线一般12mil以上,选15或20左右及以上 via内外径选2倍关系的,如内径10mi外径20mil,但不是绝对,内10外15.18也可. 2.mil与mm单位转换,即100mil=2.54m ...

  3. better-scroll插件 api

    Vue中的better-scroll插件 在需要的文件中添加 import BScorll from 'better-scroll'; 引用的示例代码: let scroll = new BScrol ...

  4. PowerDesigner 概念数据模型(CDM)

    大   中   小 PowerDesigner 概念数据模型(CDM) 说明 2014-05-07  大数据深...  来源  阅 51   转藏到我的图书馆   微信 分享: QQ空间 QQ好友 新 ...

  5. Luogu P5450 [THUPC2018]淘米神的树

    题意 写的很明白了,不需要解释. \(\texttt{Data Range:}1\leq n\leq 234567\) 题解 国 际 计 数 水 平 首先考虑一开始只有一个黑点的情况怎么做. 我们钦定 ...

  6. Django之MTV实战(2)

    目录 1. 回顾知识 1.1 新增工程 1.2 创建新的APP 1.3 注册APP 1.4 编写URL和VIEW 1.5 验证结果如下: 2. 基本概念 2.1 专业术语 2.2 MTV之视图 2.2 ...

  7. PASS模型-第一周个人报告

    PASS模型-第一周个人报告 博客班级 https://edu.cnblogs.com/campus/zjcsxy/SE2020 作业要求 https://edu.cnblogs.com/campus ...

  8. 为研发同学定制的MySQL面试指南 - “能谈谈基数统计吗?”

    ** 目录 推荐阅读原文链接 一.基数是啥? 二.InnoDB更新基数的时机? 三.基数是估算出来 四.持久化基数 四.如何主动更新基数? 欢迎关注 Hi,大家好!我是白日梦. 今天我要跟你分享的话题 ...

  9. 微信小程序获取二维码API

    <%@ WebHandler Language="C#" Class="ce" %> using System; using System.Web; ...

  10. JS数组去重的9种方法(包括去重NaN和复杂数组类型)

    其实网上已经有很多js数组的去重方法,但是我看了很多篇并自己通过代码验证,发现都有一些缺陷,于是在研究多篇代码之后,自己总结了9种方法,如果有哪里不对请及时纠正我哈~ 转载请表明出处 测试代码 let ...