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 httplib,smtplib使用方法
Sep 06 Python
Python 元组(Tuple)操作详解
Mar 11 Python
Python中operator模块的操作符使用示例总结
Jun 28 Python
Python IDLE 错误:IDLE''s subprocess didn''t make connection 的解决方案
Feb 13 Python
python 反向输出字符串的方法
Jul 16 Python
解决python3捕获cx_oracle抛出的异常错误问题
Oct 18 Python
python reverse反转部分数组的实例
Dec 13 Python
详解pycharm连接不上mysql数据库的解决办法
Jan 10 Python
python实现飞行棋游戏
Feb 05 Python
踩坑:pytorch中eval模式下结果远差于train模式介绍
Jun 23 Python
Python中flatten( ),matrix.A用法说明
Jul 05 Python
python中对列表的删除和添加方法详解
Feb 24 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对象工厂类完整示例
2018/08/09 PHP
js页面滚动时层智能浮动定位实现(jQuery/MooTools)
2011/08/23 Javascript
深入理解JavaScript系列(14) 作用域链介绍(Scope Chain)
2012/04/12 Javascript
Mac/Windows下如何安装Node.js
2013/11/22 Javascript
jQuery拖拽 & 弹出层 介绍与示例
2013/12/27 Javascript
js动态改变select选择变更option的index值示例
2014/07/10 Javascript
jquery动态分页效果堪比时光网
2014/09/25 Javascript
JS实现仿google、百度搜索框输入信息智能提示的实现方法
2015/04/20 Javascript
深入理解JavaScript中的call、apply、bind方法的区别
2016/05/30 Javascript
基于JS实现无缝滚动思路及代码分享
2016/06/07 Javascript
项目实践一图片上传之form表单还是base64前端图片压缩(前端图片压缩)
2016/07/28 Javascript
详解Nodejs基于mongoose模块的增删改查的操作
2016/12/21 NodeJs
Easyui Datagrid自定义按钮列(最后面的操作列)
2017/07/13 Javascript
纯html+css+javascript实现楼层跳跃式的页面布局(实例代码)
2017/10/25 Javascript
Vue表单类的父子组件数据传递示例
2018/05/03 Javascript
vue中设置、获取、删除cookie的方法
2018/09/21 Javascript
jQuery中each和js中forEach的区别分析
2019/02/27 jQuery
jQuery实现消息弹出框效果
2019/12/10 jQuery
node.js 微信开发之定时获取access_token
2020/02/07 Javascript
vue如何使用rem适配
2021/02/06 Vue.js
Python批量查询域名是否被注册过
2017/06/21 Python
python实现SOM算法
2018/02/23 Python
python 用下标截取字符串的实例
2018/12/25 Python
python搜索包的路径的实现方法
2019/07/19 Python
opencv中图像叠加/图像融合/按位操作的实现
2020/04/01 Python
python Django 反向访问器的外键冲突解决
2020/05/20 Python
Python操作Elasticsearch处理timeout超时
2020/07/17 Python
澳大利亚天然护肤品、化妆品和健康产品一站式商店:Nourished Life
2018/12/02 全球购物
HEMA法国:荷兰原创设计
2019/02/21 全球购物
网络安全类面试题
2015/08/01 面试题
竞聘演讲稿怎么写
2014/08/28 职场文书
教师四风自我剖析材料
2014/09/30 职场文书
乡镇防汛工作汇报
2014/10/28 职场文书
2015年电工工作总结
2015/04/10 职场文书
给下属加薪申请报告
2015/05/15 职场文书
摘录式读书笔记
2015/07/01 职场文书