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实现从字符串中找出字符1的位置以及个数的方法
Aug 25 Python
Python标准库defaultdict模块使用示例
Apr 28 Python
Python实现简单登录验证
Apr 13 Python
Phantomjs抓取渲染JS后的网页(Python代码)
May 13 Python
Pyinstaller将py打包成exe的实例
Mar 31 Python
python求解数组中两个字符串的最小距离
Sep 27 Python
python Pandas库基础分析之时间序列的处理详解
Jul 13 Python
python 发送json数据操作实例分析
Oct 15 Python
Python通过递归获取目录下指定文件代码实例
Nov 07 Python
Python上下文管理器全实例详解
Nov 12 Python
利用python3 的pygame模块实现塔防游戏
Dec 30 Python
python:批量统计xml中各类目标的数量案例
Mar 10 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程序报date()警告的处理(date_default_timezone_set)
2013/10/22 PHP
详解PHP对数组的定义以及数组的创建方法
2015/11/27 PHP
php str_getcsv把字符串解析为数组的实现方法
2017/04/05 PHP
PHP迭代器和迭代的实现与使用方法分析
2018/04/19 PHP
golang实现php里的serialize()和unserialize()序列和反序列方法详解
2018/10/30 PHP
div移动 输入框不能输入的问题
2009/11/19 Javascript
清空上传控件input file的值
2010/07/03 Javascript
js中数组(Array)的排序(sort)注意事项说明
2014/01/24 Javascript
javascript比较两个日期相差天数的方法
2015/07/23 Javascript
JS实现浏览器状态栏显示时间的方法
2015/10/27 Javascript
jQuery实现div拖拽效果实例分析
2016/02/20 Javascript
Angularjs整合微信UI(weui)
2016/03/15 Javascript
Bootstrap Paginator分页插件与ajax相结合实现动态无刷新分页效果
2016/05/27 Javascript
前端实现文件的断点续传(前端文件提交+后端PHP文件接收)
2016/11/04 Javascript
史上最全JavaScript常用的简写技巧(推荐)
2017/08/17 Javascript
使用JQ完成表格隔行换色的简单实例
2017/08/25 Javascript
前端axios下载excel文件(二进制)的处理方法
2018/07/31 Javascript
实例详解vue.js浅度监听和深度监听及watch用法
2018/08/16 Javascript
vue配置font-awesome5的方法步骤
2019/01/27 Javascript
Vue.js@2.6.10更新内置错误处机制Fundebug同步支持相应错误监控
2019/05/13 Javascript
[05:09]DOTA2-DPC中国联赛2月22日Recap集锦
2021/03/11 DOTA
python3实现TCP协议的简单服务器和客户端案例(分享)
2017/06/14 Python
Python使用pickle模块存储数据报错解决示例代码
2018/01/26 Python
Python单向链表和双向链表原理与用法实例详解
2018/08/31 Python
基于Django框架的权限组件rbac实例讲解
2019/08/31 Python
python 哈希表实现简单python字典代码实例
2019/09/27 Python
Jupyter notebook设置背景主题,字体大小及自动补全代码的操作
2020/04/13 Python
基于Python pyecharts实现多种图例代码解析
2020/08/10 Python
使用Html5、CSS实现文字阴影效果
2018/01/17 HTML / CSS
使用分层画布来优化HTML5渲染的教程
2015/05/08 HTML / CSS
纽约州一群才华横溢的金匠制作而成:Hearth Jewelry
2019/03/22 全球购物
The North Face官方旗舰店:美国著名户外品牌
2020/09/28 全球购物
劳动纠纷调解协议书格式
2014/11/30 职场文书
高校自主招生教师推荐信
2015/03/23 职场文书
推广普通话主题班会
2015/08/17 职场文书
一篇文章弄懂Python关键字、标识符和变量
2021/07/15 Python