您的位置:首页 > 产品设计 > UI/UE

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

2015-10-30 15:06 453 查看

详细描述:用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)为增加的代码,这样就不会报这个错了,文件上传成功。

阅读更多
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐