input类型上传多个文件(selenium+Python)

一般上传方法分为两种:input类型和非input类型,这里具体分析input类型。

html文件:

【上传图标】按钮元素定位中包含name=“file”   type="file"  果断采用input+sendkeys模式。

一、上传一张图片,上代码:

解释一下:

1、同个页面或者切换到不同页面中都存在多个iframe,所以定位元素时需要切入对的iframe,否则死活定位不到元素。

2、填写表单时字段超过一页无法全部都展示出来,此时需要拖动下滚动条加载剩下的字段才能获取到相关的元素,采用win32api的mouse_event方法(如何使用可参照win32 API大全,地址:http://www.esk365.com/zxsc/prg/winapia/)。

3、页面中存在多个上传按钮均为input类型,先定位一组元素,然后根据需要去找第几个的input,从0开始数:


二、上传多张图片
思路:一开始的想法是上传一张图片后接着再上传一张,循环上传。
这个思路是正确的,但是操作起来却不行,一直报错,如下:

报错的原因:每定位上传一次页面就会自动刷新,如果再次上传则找不到元素

解决方案:上传一次后如果再上传第二次,需要重新定位元素,正确代码如下:

 <正文完>




原文地址:https://www.cnblogs.com/mumunansheng/p/10103887.html