Python SELENIUM上传文件或图片实现过程

作者:圆觉 时间:2021-12-22 09:11:53 

逛网站的时候经常会遇到需要上传图片的操作,这里主要来说下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()

来源:https://www.cnblogs.com/xiamaojjie/p/11624790.html

标签:python,selenium,上传
0
投稿

猜你喜欢

  • PHP结构型模式之外观模式

    2023-05-25 11:43:14
  • PHP的Socket网络编程入门指引

    2023-11-18 15:46:12
  • Python对字符串实现去重操作的方法示例

    2021-12-12 11:46:37
  • 在ASP中使用SQL语句之9:表单操作

    2007-08-11 13:18:00
  • Python银行系统实战源码

    2022-05-14 14:16:56
  • Numpy 数据处理 ndarray使用详解

    2021-01-30 18:05:11
  • Python 继承,重写,super()调用父类方法操作示例

    2022-08-09 13:22:13
  • Asp包含文件include动态包含方法(含变量)

    2010-01-14 20:12:00
  • PHP结构型模式之装饰器模式

    2023-05-30 08:43:07
  • python @property的用法及含义全面解析

    2023-04-06 00:42:28
  • python+selenium定时爬取丁香园的新型冠状病毒数据并制作出类似的地图(部署到云服务器)

    2022-12-31 16:20:14
  • python使用matplotlib画饼状图

    2023-04-06 12:23:29
  • Pytorch生成随机数Tensor的方法汇总

    2022-11-03 19:39:18
  • 实现Windows下设置定时任务来运行python脚本

    2021-10-12 05:03:32
  • Web2.0电子商务网站的交互设计

    2009-05-15 12:08:00
  • python 详解如何写flask文件下载接口

    2023-05-04 21:07:06
  • linux中使用boost.python调用c++动态库的方法

    2023-01-19 19:21:03
  • po+selenium+unittest自动化测试项目实战

    2022-05-03 14:46:46
  • PL/SQL编程经验小结开发者网络Oracle

    2010-07-18 13:27:00
  • 用Python+OpenCV对比图像质量的几种方法

    2022-06-28 10:57:59
  • asp之家 网络编程 m.aspxhome.com