上传文件


  上传文件是比较常见的web功能之一,但webdriver没有提供专门用于上传的方法,如何实现上传操作关键在于上传文件的思路

  一般web页面的上传功能的操作需要点击“上传”按钮后打开本地的window窗口,从窗口中选择本地文件进行上传,而webdriver是无法操作Windows控件的,所以对于web页面的上传功能实现有以下两种方法。

  1、普通上传:普通的附件上传是将本地文件的路径作为一个值放在input标签中,通过form表单将这个值提交给服务器

  2、插件上传:一般是指基于Flash、JavaScript或Ajax等技术所实现的上传功能

 

Send_keys上传

  通过这种方法上传可避免操作Windows控件的步骤。只要找到上传的input标签,那么就基本都可以通过send_keys()方法向其输入一个文件地址来实现上传。如:

  from selenium import webdriver

  import os

  

  driver = webriver.Chrome()

  driver.get('http://www.baidu.com')

  #定位上传按钮,添加本地文件

  driver.find_element_by_name('file').send_keys('d:/upload_file.txt')

  driver.quit()

 

第三方工具上传

  非input标签的上传,则需要借助第三方工具winspy,或者python pywin32和spy++、sendkeys第三方库和autolt

  以下是固定的代码,复制即可使用

  

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM