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设置检查点简单实现代码
Jul 01 Python
python字符串替换的2种方法
Nov 30 Python
windows下 兼容Python2和Python3的解决方法
Dec 05 Python
python实现输入任意一个大写字母生成金字塔的示例
Oct 27 Python
python sorted方法和列表使用解析
Nov 18 Python
详解Django3中直接添加Websockets方式
Feb 12 Python
Python 爬取必应壁纸的实例讲解
Feb 24 Python
python GUI库图形界面开发之PyQt5信号与槽基本操作
Feb 25 Python
使用keras和tensorflow保存为可部署的pb格式
May 25 Python
Python网页解析器使用实例详解
May 30 Python
简单介绍一下pyinstaller打包以及安全性的实现
Jun 02 Python
python文件编写好后如何实践
Jul 07 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作为Shell脚本语言使用
2006/10/09 PHP
PHP的栏目导航程序
2006/10/09 PHP
PHP与MySQL交互使用详解
2006/10/09 PHP
PHP define函数的使用说明
2008/08/27 PHP
php进程间通讯实例分析
2016/07/11 PHP
JS中彻底删除JSON对象组成的数组中的元素
2020/09/22 PHP
数据结构之利用PHP实现二分搜索树
2020/10/25 PHP
javascript中的有名函数和无名函数
2007/10/17 Javascript
jquery 操作DOM案例代码分享
2012/04/05 Javascript
jQuery的css() 方法使用指南
2015/05/03 Javascript
js实现仿京东2级菜单效果(带延时功能)
2015/08/27 Javascript
Google 地图类型详解及示例代码
2016/08/06 Javascript
深入理解js generator数据类型
2016/08/16 Javascript
js导出excel文件的简洁方法(推荐)
2016/11/02 Javascript
获取JavaScript异步函数的返回值
2016/12/21 Javascript
vue2.0中goods选购栏滚动算法的实现代码
2017/05/17 Javascript
nodejs密码加密中生成随机数的实例代码
2017/07/17 NodeJs
防止Layui form表单重复提交的实现方法
2019/09/10 Javascript
wxPython定时器wx.Timer简单应用实例
2015/06/03 Python
Python Socket编程之多线程聊天室
2018/07/28 Python
Python动态生成多维数组的方法示例
2018/08/09 Python
python使用PyQt5的简单方法
2019/02/27 Python
python控制nao机器人身体动作实例详解
2019/04/29 Python
浅谈Python2之汉字编码为unicode的问题(即类似\xc3\xa4)
2019/08/12 Python
python创建文本文件的简单方法
2020/08/30 Python
CSS3中使用RGBa来调节透明度的教程
2016/05/09 HTML / CSS
css3 实现滚动条美化效果的实例代码
2021/01/06 HTML / CSS
你不知道的5个HTML5新功能
2016/06/28 HTML / CSS
加拿大建筑和装修专家:Reno-Depot
2017/12/21 全球购物
Tuckernuck官网:经典的美国品质服装、鞋子和配饰
2021/01/11 全球购物
印刷工程专业应届生求职信
2013/09/29 职场文书
药店主任岗位责任制
2014/02/10 职场文书
老同学聚会感言
2014/02/23 职场文书
八达岭长城导游词
2015/01/30 职场文书
在 SQL 语句中处理 NULL 值的方法
2021/06/07 SQL Server
Nginx源码编译安装过程记录
2021/11/17 Servers