selenium问题六:上传文件报错WebDriverException: Message: '{"value" : "Command not found:

详细描述:用slenium webdriver上传文件时,如果用的语言是python,则会报这个错

WebDriverException: Message: '{ "status" : 404, "sessionId" : "<no session>", "value" : "Command not found: POST /session/6c66816f-52bd-4cd6-976f-fd5c1230968d/file" }'

问题解决:经过查找资料,发现这个selenium的一个bug,你需要修改一些代码来避免这个错误。解决步骤:

1.找到webelement.py文件

C:\Python27\Lib\site-packages\selenium-2.21.2-py2.7.egg\selenium\webdriver\remote\ webelement.py

2.找到_upload函数

3.在捕获异常那加一个条件,具体如下

    def _upload(self, filename):

        fp = StringIO()

        zipped = zipfile.ZipFile(fp, 'w', zipfile.ZIP_DEFLATED)

        zipped.write(filename)

        zipped.close()

        try:

            return self._execute(Command.UPLOAD_FILE,

                            {'file': base64.encodestring(fp.getvalue())})['value']

        except WebDriverException as e:

            if "Unrecognized command: POST" in e.__str__():

                return filename

            elif "Command not found: POST" in e.__str__():

                return filename

            else:

                raise e

 

蓝色部分(elif)为增加的代码,这样就不会报这个错了,文件上传成功。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值