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的Treq on Twisted来进行HTTP压力测试
Apr 16 Python
Python 使用SMTP发送邮件的代码小结
Sep 21 Python
pandas数据分组和聚合操作方法
Apr 11 Python
pandas通过索引进行排序的示例
Nov 16 Python
通过python改变图片特定区域的颜色详解
Jul 15 Python
python实现自动化报表功能(Oracle/plsql/Excel/多线程)
Dec 02 Python
Python pygame绘制文字制作滚动文字过程解析
Dec 12 Python
python pyenv多版本管理工具的使用
Dec 23 Python
在Python中用GDAL实现矢量对栅格的切割实例
Mar 11 Python
Python容器类型公共方法总结
Aug 19 Python
Python 随机按键模拟2小时
Dec 30 Python
基于PyQt5制作一个群发邮件工具
Apr 08 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实现Socket服务器的代码
2008/04/03 PHP
php中通过curl模拟登陆discuz论坛的实现代码
2012/02/16 PHP
PHP系列学习之日期函数使用介绍
2012/08/18 PHP
PHP生成随机密码类分享
2014/06/25 PHP
二级域名或跨域共享Cookies的实现方法
2008/08/07 Javascript
js实现网站首页图片滚动显示
2013/02/04 Javascript
js onclick事件传参讲解
2013/11/06 Javascript
select多选 multiple的使用示例
2014/06/16 Javascript
JavaScript搜索字符串并将搜索结果返回到字符串的方法
2015/04/06 Javascript
javascript对象的创建和访问
2016/03/08 Javascript
关于javascript的一些知识以及循环详解
2016/09/12 Javascript
在js中做数字字符串补0(js补零)
2017/03/25 Javascript
JS全角与半角转化实例(分享)
2017/07/04 Javascript
记一次webapck4 配置文件无效的解决历程
2018/09/19 Javascript
微信小程序实现留言板功能
2018/11/02 Javascript
小程序测试后台服务的方法(ngrok)
2019/03/08 Javascript
Python的类实例属性访问规则探讨
2015/01/30 Python
python flask实现分页效果
2017/06/27 Python
python通过elixir包操作mysql数据库实例代码
2018/01/31 Python
详解配置Django的Celery异步之路踩坑
2018/11/25 Python
Python如何实现动态数组
2019/11/02 Python
Tensorflow进行多维矩阵的拆分与拼接实例
2020/02/07 Python
Python关键字及可变参数*args,**kw原理解析
2020/04/04 Python
python等待10秒执行下一命令的方法
2020/07/19 Python
使用Python实现音频双通道分离
2020/12/25 Python
英国Zoro工具:手动工具,电动工具和个人防护用品
2016/11/02 全球购物
世嘉游戏英国官方商店:SEGA Shop UK
2019/09/20 全球购物
世界上最好的野生海鲜和有机食品:Vital Choice
2020/01/16 全球购物
《七月的天山》教学反思
2016/02/19 职场文书
高二英语教学反思
2016/03/03 职场文书
如何解决.cuda()加载用时很长的问题
2021/05/24 Python
python基础学习之递归函数知识总结
2021/05/26 Python
一文搞懂redux在react中的初步用法
2021/06/09 Javascript
Golang 链表的学习和使用
2022/04/19 Golang
详解Mysq MVCC多版本的并发控制
2022/04/29 MySQL
css清除浮动clearfix:after的用法详解(附完整代码)
2023/05/21 HTML / CSS