Python SELENIUM上传文件或图片实现过程


Posted in Python onOctober 28, 2019

逛网站的时候经常会遇到需要上传图片的操作,这里主要来说下selenium操作上传文件的操作。

前提条件:定位的元素必须是type 属性是file类型。即type="file",如下图:

Python SELENIUM上传文件或图片实现过程

详细用法:

Python SELENIUM上传文件或图片实现过程

参考代码:

from selenium import webdriver
import time


driver = webdriver.Chrome()


def test_open_page():
  '''打开界面'''
  driver.maximize_window()
  driver.get('http://106.233.81.250/fw/index.php?ctl=user&act=login')

def test_register(user,password):
  '''输入用户名密码'''
  driver.find_element_by_css_selector('#login-email-address').send_keys(user)
  driver.find_element_by_css_selector('#login-password').send_keys(password)
  driver.find_element_by_xpath('//input[@type="submit"]').click()
  driver.implicitly_wait(30)
  driver.find_element_by_xpath('//input[@value="取消"]').click()

def test_money():
  '''操作我要借款'''
  #driver.find_element_by_link_text('我要借款').click()
  el = driver.find_elements_by_css_selector('.pr20')
  el[2].click()
  ele = driver.find_elements_by_xpath('//div[@class="tc pt10"]/a/img')
  ele[0].click()

def test_input_info():
  '''输入借款信息'''
  driver.find_element_by_css_selector('#borrowtitle').send_keys(2)
  driver.find_element_by_css_selector('#borrowamount').send_keys(2000)
  driver.find_element_by_css_selector('#repaytime').send_keys(20)
  driver.find_element_by_css_selector('#apr').send_keys(20)
  # todo js操作滚动条
  js1 = "document.documentElement.scrollTop=1000"
  driver.execute_script(js1)
  time.sleep(1)
  elem = driver.find_elements_by_xpath('//div[@style="width:710px;"]/input[@type="text"]')
  elem[0].send_keys(2)
  driver.find_element_by_xpath('//button[@rel="file_1"]').click()
  time.sleep(1)
  driver.find_element_by_xpath('//li[text()="本地上传"]').click()
  time.sleep(1)
  # todo 文件操作上传图片
  driver.find_element_by_name('imgFile').send_keys(r'D:\file\1.png')
  time.sleep(1)
  driver.find_element_by_xpath('//input[@type="button" and @value="确定"]').click()

def test_closed():
  time.sleep(6)
  driver.quit()

test_open_page()
test_register('admin','admin')
test_money()
test_input_info()
test_closed()

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python实现计算文件夹下.h和.cpp文件的总行数
Apr 23 Python
python实现多线程的方式及多条命令并发执行
Jun 07 Python
使用python调用zxing库生成二维码图片详解
Jan 10 Python
python实现音乐下载器
Apr 15 Python
python3实现基于用户的协同过滤
May 31 Python
Python3安装pip工具的详细步骤
Oct 14 Python
tensorboard 可以显示graph,却不能显示scalar的解决方式
Feb 15 Python
Django Serializer HiddenField隐藏字段实例
Mar 31 Python
Python之Matplotlib文字与注释的使用方法
Jun 18 Python
Python 私有属性和私有方法应用场景分析
Jun 19 Python
Python 批量下载阴阳师网站壁纸
May 19 Python
python数字图像处理:图像简单滤波
Jun 28 Python
PYTHON实现SIGN签名的过程解析
Oct 28 #Python
Python爬虫使用代理IP的实现
Oct 27 #Python
Python搭建代理IP池实现接口设置与整体调度
Oct 27 #Python
Python搭建代理IP池实现检测IP的方法
Oct 27 #Python
浅析使用Python搭建http服务器
Oct 27 #Python
Python搭建代理IP池实现存储IP的方法
Oct 27 #Python
Python搭建代理IP池实现获取IP的方法
Oct 27 #Python
You might like
php float不四舍五入截取浮点型字符串方法总结
2013/10/28 PHP
PHP list() 将数组中的值赋给变量的简单实例
2016/06/13 PHP
javascript的onchange事件与jQuery的change()方法比较
2009/09/28 Javascript
js constructor的实际作用分析
2011/11/15 Javascript
JavaScript执行效率与性能提升方案
2012/12/21 Javascript
JS+DIV实现鼠标划过切换层效果的实例代码
2013/11/26 Javascript
深入讲解AngularJS中的自定义指令的使用
2015/06/18 Javascript
js面向对象的写法
2016/02/19 Javascript
jQuery实现元素拖拽并cookie保存顺序的方法
2016/02/20 Javascript
jquery 将当前时间转换成yyyymmdd格式的实现方法
2016/06/01 Javascript
jQuery Ajax 全局调用封装实例代码详解
2016/06/02 Javascript
微信小程序左滑动显示菜单功能的实现
2018/06/14 Javascript
微信小程序实现滴滴导航tab切换效果
2018/07/24 Javascript
基于Koa(nodejs框架)对json文件进行增删改查的示例代码
2019/02/02 NodeJs
ElementUI之Message功能拓展详解
2019/10/18 Javascript
js仿京东放大镜效果
2020/08/09 Javascript
[03:12]2016完美“圣”典风云人物:单车专访
2016/12/02 DOTA
Python 字典dict使用介绍
2014/11/30 Python
Python装饰器使用示例及实际应用例子
2015/03/06 Python
Python语言描述随机梯度下降法
2018/01/04 Python
Python将一个Excel拆分为多个Excel
2018/11/07 Python
对Python3 解析html的几种操作方式小结
2019/02/16 Python
Python求均值,方差,标准差的实例
2019/06/29 Python
Pytorch中Tensor与各种图像格式的相互转化详解
2019/12/26 Python
使用 Python 读取电子表格中的数据实例详解
2020/04/17 Python
django 外键创建注意事项说明
2020/05/20 Python
Python基于pyjnius库实现访问java类
2020/07/31 Python
python 如何快速复制序列
2020/09/07 Python
Python提取视频中图片的示例(按帧、按秒)
2020/10/22 Python
详解CSS3中的box-sizing(content-box与border-box)
2019/04/19 HTML / CSS
HTML5 Canvas自定义圆角矩形与虚线示例代码
2013/08/02 HTML / CSS
Myprotein瑞士官方网站:运动营养和健身网上商店
2019/09/25 全球购物
艺术学院毕业生自我评价
2014/03/02 职场文书
项目施工员岗位职责
2014/03/09 职场文书
保密协议书范本
2014/04/22 职场文书
优秀教导主任事迹材料
2014/05/09 职场文书