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 信息同时输出到控制台与文件的实例讲解
May 11 Python
Python+OpenCV图片局部区域像素值处理改进版详解
Jan 23 Python
Python中如何使用if语句处理列表实例代码
Feb 24 Python
python基于递归解决背包问题详解
Jul 03 Python
在SQLite-Python中实现返回、查询中文字段的方法
Jul 17 Python
python pyinstaller打包exe报错的解决方法
Nov 02 Python
PyTorch中的padding(边缘填充)操作方式
Jan 03 Python
Python autoescape标签用法解析
Jan 17 Python
python模拟斗地主发牌
Apr 22 Python
Python3.7在anaconda里面使用IDLE编译器的步骤详解
Apr 29 Python
30行Python代码实现高分辨率图像导航的方法
May 22 Python
在pycharm中创建django项目的示例代码
May 28 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
使用网络地址转换实现多服务器负载均衡
2006/10/09 PHP
php 分页函数multi() discuz
2009/06/21 PHP
PHP中限制IP段访问、禁止IP提交表单的代码
2011/04/23 PHP
php setcookie函数的参数说明及其用法
2014/04/20 PHP
php版微信自定义回复功能示例
2016/12/05 PHP
取得一定长度的内容,处理中文
2006/12/20 Javascript
HTTP 304错误的详细讲解
2013/11/13 Javascript
详谈JavaScript 匿名函数及闭包
2014/11/14 Javascript
详解参数传递四种形式
2015/07/21 Javascript
jQuery flip插件实现的翻牌效果示例【附demo源码下载】
2016/09/20 Javascript
JS去除重复并统计数量的实现方法
2016/12/15 Javascript
Vue.js 2.0 移动端拍照压缩图片预览及上传实例
2017/04/27 Javascript
JavaScript内存泄漏的处理方式
2017/11/20 Javascript
基于elementUI实现图片预览组件的示例代码
2019/03/31 Javascript
解决LayUI加上form.render()下拉框和单选以及复选框不出来的问题
2019/09/27 Javascript
Python的Django框架中自定义模版标签的示例
2015/07/20 Python
巧用python和libnmapd,提取Nmap扫描结果
2016/08/23 Python
Flask框架路由和视图用法实例分析
2019/11/07 Python
TensorFlow——Checkpoint为模型添加检查点的实例
2020/01/21 Python
Python实现井字棋小游戏
2020/03/09 Python
PyCharm 2020 激活到 2100 年的教程
2020/03/25 Python
Python爬虫实现vip电影下载的示例代码
2020/04/20 Python
python中加背景音乐如何操作
2020/07/19 Python
Html5页面内使用JSON动画的实现
2019/01/29 HTML / CSS
StubHub中国:购买和出售全球活动门票
2020/01/01 全球购物
一些PHP的面试题
2015/05/06 面试题
如何用Lucene索引数据库
2016/02/23 面试题
编写类String的构造函数、析构函数和赋值函数
2012/05/29 面试题
激励口号大全
2014/06/17 职场文书
2014县政府领导班子对照检查材料思想汇报
2014/09/25 职场文书
史上最牛的辞职信
2015/02/28 职场文书
小学三年级数学教学反思
2016/02/16 职场文书
详解python的异常捕获
2022/03/03 Python
对象析构函数__del__在Python中何时使用
2022/03/22 Python
Redis 哨兵机制及配置实现
2022/03/25 Redis
pd.DataFrame中的几种索引变换的实现
2022/06/16 Python