在前端点击的按钮,会跳出让我们去选择文件的框,这个弹出框Selenium是无法识别的,所以它不是真正负责上传文件的控件。
真正负责上传文件的控件应该是:<input type="file"...>, 我们需要做的就是定位到这个真正的控件,然后对其send_keys,发送文件的路径即可。
例:
如上图当我们定位到“点击选择图片”之后,可以看到在上面有一个<input type="file"...>的控件,我们需要使用的就是这个控件,代码如下:
1 driver.find_element(By.NAME, "file").send_keys("D:/PythonTest/Pictures/iphone.jpg")
至于为什么可见的那个按钮是无效的,我们可以删除input控件中的class属性:“webuploader-element-invisible”,就会发现其实还有一个“选择文件”隐藏在下面,我们真正要定位的就是它,而他外面的“点击选择图片”其实只是为了界面美观而做的一个样式。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。