Selenium 上传文件send_keys无效的解决方法

Selenium上传文件总的来说有两种方法:
1.通过input元素send_keys发送路径
2.通过第三方库模拟键盘鼠标操作拖动文件或者点击按钮复制粘贴文件路径进行上传
方法2是下下策,不做赘述。

我在编写一个阿里巴巴国际站批量发布程序时遇到一个情况,通过input元素send_keys总是报错。
研究了一下发现是由于input元素的 display 为none引起的。
Selenium无法与以下元素交互:
元素不可见、元素宽高为0、元素被其他元素遮挡
一般来说上传控件都会让它不显示,自己再写一个样式套在上面,这样就导致Selenium无法操作。
解决办法是另外定义一段让该元素显示的js代码,然后用driver.execute_script()方法执行js之后再去操作。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容