专栏首页恩蓝脚本Python selenium文件上传下载功能代码实例

Python selenium文件上传下载功能代码实例

上传

html文件内容如下:操作步骤

<html 
<head 
<meta http-equiv="content-type" content="text/html;charset=utf-8" / 
<title upload_file</title 
<script type="text/javascript" async=""
src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js" </script 
<link href="http://netdna.bootstrapcdn.com/twitter-bootstrap/2.3.2/css/bootstrap-combined.min.css" rel="external nofollow" 
rel="stylesheet" / 
<script type="text/javascript" 
</script 
</head 
<body 
 <div class="row-fluid" 
  <div class="span6 well" 
  <h3 upload_file</h3 
  <input type="file" name="file" / 
  </div 
 </div 
</body 
<script src="http://netdna.bootstrapcdn.com/twitter-bootstrap/2.3.2/js/bootstrap.min.js" </script 
</html  

python上传源码

#coding=utf-8
from selenium import webdriver
import time

driver = webdriver.Chrome()
#打开上传文件页面
driver.get("D://unload.html")
 
#定位上传位置,添加本地文件
upload = driver.find_element_by_name("file")
upload.send_keys('D://run.py')
#打印上传值
print (upload.get_attribute('value'))
time.sleep(2)
driver.quit()

上传文件结果

python下载文件源码

# -*- coding: utf-8 -*-

from selenium import webdriver
from time import sleep


options = webdriver.ChromeOptions()
#profile.default_content_settings.popups:设置为 0 禁止弹出窗口 download.default_directory:设置下载路径
prefs = {'profile.default_content_settings.popups': 0, 'download.default_directory': 'd:\921'}
options.add_experimental_option('prefs', prefs)

driver = webdriver.Chrome(chrome_options=options)
#打开下载地址
driver.get('http://npm.taobao.org/mirrors/chromedriver/2.13/')
#点击下载链接下载
driver.find_element_by_xpath('/html/body/div[1]/pre/a[3]').click()
sleep(3)
driver.quit()

以上就是本文的全部内容,希望对大家的学习有所帮助。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Android和iOS包批量重签名

    本文实例为大家分享了Android和iOS包批量重签名的具体代码,供大家参考,具体内容如下

    砸漏
  • 快速搭建简易、高效、多线程http服务器

    去年我做了一个笔记《python快速建立超简单的web服务器》记录了如何用python快速搭建一个http服务器,然而简单确实是很简单,但是缺陷太明显了,无法多...

    砸漏
  • CentOS8 yum/dnf 配置国内源的方法

    CentOS 8更改了软件包的安装程序,取消了 yum 的配置方法,改而使用了dnf 作为安装程序。虽然改变了软件包的安装方式,但是 dnf 还是能兼容使用 y...

    砸漏
  • Lancet Neurology:长期意识障碍的干预治疗

    严重脑损伤和长期意识障碍患者的治疗存在重要问题,特别是在他们的治疗选择方面。临床和神经影像学数据表明,即使是在受伤数年后,一些长期意识障碍患者仍可能从治疗干预中...

    用户1279583
  • 如何使用Bacula备份Ubuntu 14.04服务器

    本教程将向您展示如何通过网络连接设置Bacula来创建远程Ubuntu 14.04主机的备份。这涉及在远程主机上安装和配置Bacula Client软件,并对现...

    姚啊姚
  • PHP中取图片色系并生成跟图片反色差的字体

    根据函数我们可以理解到,此函数运行时会依次遍历所有的像素点。然后取出现最多的像素点。

    V站CEO-西顾
  • 用eclispe开发web项目初步

    剽悍一小兔
  • MySQL高可用方案-PXC环境部署记录

    之前梳理了Mysql+Keepalived双主热备高可用操作记录,对于mysql高可用方案,经常用到的的主要有下面三种: 一、基于主从复制的高可用方案:双节点主...

    洗尽了浮华
  • 【干货收藏】数据分析师必备的20种分析思维

    “好像是A引起的” ,“好像也和B渠道有关”,“也可能是竞争对手C做了竞争动作”等主观臆测。

    1480
  • 并发和Read-copy update(RCU)

    在上一篇文章中的并发和ABA问题的介绍中,我们提到了要解决ABA中的memory reclamation问题,有一个办法就是使用RCU。

    程序那些事

扫码关注云+社区

领取腾讯云代金券