ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
[TOC] 前言 文件上传是web页面上很常见的一个功能,自动化成功中操作起来却不是那么简单。 一般分两个场景:一种是input标签,这种可以用selenium提供的send\_keys()方法轻松解决; 另外一种非input标签实现起来比较困难,可以借助autoit工具或者SendKeys第三方库。 本篇以博客园的上传图片为案例,通过send\_keys()方法解决文件上传问题 <br /> ## **一、识别上传按钮** 1. 点开博客园编辑器里的图片上传按钮,弹出”上传本地图片”框。 2. 用firebug查看按钮属性,这种上传图片按钮有个很明显的标识,它是一个input标签,并且type属性的值为file。 只要找到这两个标识,我们就可以直接用send\_keys()方法上传文件了。 ![](https://img.kancloud.cn/c5/43/c543797dad8972e5fc1fd8cbf19c9178_925x422.png) <br /> ## **二、定位iframe** 1. 这里定位图片上传按钮情况有点复杂,首先它是在iframe上(不懂iframe的看这篇:[Selenium2+python自动化14-iframe](http://www.cnblogs.com/yoyoketang/p/6128619.html "说明")) 2. 这个iframe的id是动态的,且没有name属性,其它属性也不是很明显 3. 通过搜索发现,这个页面上有两个iframe,需要定位的这个iframe是处于第二个位置 ![](https://img.kancloud.cn/05/d4/05d4a426a74ac7016524ffd21008745f_907x396.png) 4. 可以通过标签定位所有的iframe标签,然后取对应的第几个就可以了。 ![](http://images2015.cnblogs.com/blog/1070438/201702/1070438-20170226173700507-326863055.png)