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脚本实现查找webshell的方法
Jul 31 Python
详解Python中的序列化与反序列化的使用
Jun 30 Python
Python的math模块中的常用数学函数整理
Feb 04 Python
搭建Python的Django框架环境并建立和运行第一个App的教程
Jul 02 Python
python实现感知器
Dec 19 Python
pytorch索引查找 index_select的例子
Aug 18 Python
Python 正则表达式爬虫使用案例解析
Sep 23 Python
python 字典有序并写入json文件过程解析
Sep 30 Python
30秒学会30个超实用Python代码片段【收藏版】
Oct 15 Python
flask的orm框架SQLAlchemy查询实现解析
Dec 12 Python
Django集成celery发送异步邮件实例
Dec 17 Python
python实现同一局域网下传输图片
Mar 20 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数组函数序列之sort() 对数组的元素值进行升序排序
2011/11/02 PHP
laravel实现查询最后执行的一条sql语句的方法
2019/10/09 PHP
js关闭当前页面(窗口)的几种方式总结
2013/03/05 Javascript
toggle一个div显示或隐藏且可扩展成自定义下拉框
2013/09/12 Javascript
JQuery的ready函数与JS的onload的区别详解
2013/11/21 Javascript
js showModalDialog 弹出对话框的简单实例(子窗体)
2014/01/07 Javascript
jquery 中的each()跳出循环的语句
2014/05/23 Javascript
JavaScript删除指定子元素代码实例
2015/01/13 Javascript
浅谈$(document)和$(window)的区别
2015/07/15 Javascript
jQuery动态星级评分效果实现方法
2015/08/06 Javascript
javascript先序遍历DOM树的方法
2016/02/27 Javascript
微信小程序 图片等比例缩放(图片自适应屏幕)
2016/11/16 Javascript
php输出全部gb2312编码内的汉字方法
2017/03/04 Javascript
深入剖析Express cookie-parser中间件实现示例
2018/02/01 Javascript
vue的过滤器filter实例详解
2018/09/17 Javascript
详解Vue中watch的详细用法
2018/11/28 Javascript
ES6基础之解构赋值(destructuring assignment)
2019/02/21 Javascript
[05:16]《大圣!大圣》——DOTA2新英雄齐天大圣配音李世宏老师专访
2016/12/13 DOTA
[41:17]完美世界DOTA2联赛PWL S3 access vs CPG 第二场 12.13
2020/12/17 DOTA
Python实现Tab自动补全和历史命令管理的方法
2015/03/12 Python
Django2.1集成xadmin管理后台所遇到的错误集锦(填坑)
2018/12/20 Python
Python使用pydub库对mp3与wav格式进行互转的方法
2019/01/10 Python
ansible动态Inventory主机清单配置遇到的坑
2020/01/19 Python
PIP和conda 更换国内安装源的方法步骤
2020/09/21 Python
北承题目(C++)
2012/05/16 面试题
展会邀请函范文
2014/01/26 职场文书
2014基层党员批评与自我批评范文
2014/09/24 职场文书
学校运动会广播稿范文
2014/10/02 职场文书
2014年销售助理工作总结
2014/12/01 职场文书
2014年英语工作总结
2014/12/20 职场文书
谢师宴家长致辞
2015/07/27 职场文书
化工厂员工工作总结
2015/10/15 职场文书
2016优秀护士先进个人事迹材料
2016/02/25 职场文书
go:垃圾回收GC触发条件详解
2021/04/24 Golang
MySQL 外键约束和表关系相关总结
2021/06/20 MySQL
JavaScript架构搭建前端监控如何采集异常数据
2022/06/25 Javascript