Bob's Blog

Web开发、测试框架、自动化平台、APP开发、机器学习等

返回上页首页

当用selenium时遇到上传文件的弹窗



平时都用selenium webdriver来做web自动化,偶尔会遇到需要上传文件啊图片之类的。

对于这种情况,弹出来的不是alert,而是系统控件,于是往往会直接想到识别控件来操作。识别控件对windows还比较容易支持,虽然要做稍微多点的工作,但是对于非windows平台以及使用headless browser的时候,这个就不起作用了,而且这种方式还不太稳定。

另外还可以查看请求列表,传递各种参数来模拟上传文件的请求。

不过这两种方式都是费力不讨好的。还有另一种方式最简单:如果上传按钮控件的html里能看到input(type="file"),直接对这个input做send_keys即可,就不需要等待弹窗出现再处理了。对于不少这样的控件都能操作,当然也有操作不了的。如果遇到这样的,不妨试一试,能节约不少时间。

比如这样的例子:

file_upload_input = driver.find_element("xpath", "//div[@id='fileUploader']//input")

file_upload_input.send_keys("/Users/Documents/new.pdf")

下一篇:  PMP知识点(一)项目相关的定义
上一篇:  为Django ckeditor配置上传视频

共有0条评论

添加评论

暂无评论