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中函数的多种格式和使用实例及小技巧
Apr 13 Python
windows下python安装paramiko模块和pycrypto模块(简单三步)
Jul 06 Python
Python subprocess模块常见用法分析
Jun 12 Python
python实现给scatter设置颜色渐变条colorbar的方法
Dec 13 Python
详解Python with/as使用说明
Dec 13 Python
django2.0扩展用户字段示例
Feb 13 Python
详解python 模拟豆瓣登录(豆瓣6.0)
Apr 18 Python
基于python使用tibco ems代码实例
Dec 20 Python
解决Python发送Http请求时,中文乱码的问题
Apr 30 Python
从零开始的TensorFlow+VScode开发环境搭建的步骤(图文)
Aug 31 Python
Python做图像处理及视频音频文件分离和合成功能
Nov 24 Python
五分钟学会怎么用Pygame做一个简单的贪吃蛇
Jan 06 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中的路径问题与set_include_path使用介绍
2014/02/11 PHP
mac环境中使用brew安装php5.5.15
2014/08/18 PHP
PHP实现批量检测网站是否能够正常打开的方法
2016/08/23 PHP
PHP实现批量重命名某个文件夹下所有文件的方法
2017/09/04 PHP
Laravel框架实现超简单的分页效果示例
2019/02/08 PHP
php7 list()、session及其他模块的修改实例分析
2020/05/25 PHP
基于jquery的使ListNav兼容中文首字拼音排序的实现代码
2011/07/10 Javascript
5个最佳的Javascript日期处理类库分享
2012/04/15 Javascript
css配合jquery美化 select
2013/11/29 Javascript
JavaScript检查弹出窗口是否被阻拦的方法技巧
2015/03/13 Javascript
jQuery+PHP实现动态数字展示特效
2015/03/14 Javascript
js实现图片上传并正常显示
2015/12/19 Javascript
AngularJS ng-bind-template 指令详解
2016/07/30 Javascript
HTML5 canvas 9绘制图片实例详解
2016/09/06 Javascript
jQuery查找节点并获取节点属性的方法
2016/09/09 Javascript
微信小程序  action-sheet详解及实例代码
2016/11/09 Javascript
原生js实现瀑布流布局
2017/03/08 Javascript
vuejs响应用户事件(如点击事件)
2017/03/14 Javascript
VueJs里利用CryptoJs实现加密及解密的方法示例
2019/04/29 Javascript
vue多个元素的样式选择器问题
2019/11/29 Javascript
vue 组件之间事件触发($emit)与event Bus($on)的用法说明
2020/07/28 Javascript
[59:53]DOTA2-DPC中国联赛 正赛 VG vs Elephant BO3 第二场 3月6日
2021/03/11 DOTA
跟老齐学Python之眼花缭乱的运算符
2014/09/14 Python
Python中解析JSON并同时进行自定义编码处理实例
2015/02/08 Python
python实现将pvr格式转换成pvr.ccz的方法
2015/04/28 Python
如何高效使用Python字典的方法详解
2017/08/31 Python
Python3 安装PyQt5及exe打包图文教程
2019/01/08 Python
Python字符串内置函数功能与用法总结
2019/04/16 Python
用HTML5制作数字时钟的教程
2015/05/11 HTML / CSS
团员学习总结的自我评价范文
2013/10/14 职场文书
秋季运动会通讯稿
2014/01/24 职场文书
局火灾防控工作方案
2014/05/25 职场文书
安全责任书模板
2014/07/22 职场文书
节水倡议书
2015/01/19 职场文书
个人股份转让协议书范本
2015/01/28 职场文书
餐厅如何利用“营销策略”扭转亏本局面
2019/10/15 职场文书