解決python3運行selenium下HTMLTestRunner報錯的問題
修改HTMLTestRunner.py以支持python3+
搜索到的結(jié)果整理
修改一: 在python shell里輸入 >>>import HTMLTestRunner >>> dir(HTMLTestRunner) 發(fā)現(xiàn)不認識StringIO (No module named StringIO)
確實3里面沒有這個了,第94行引入的名稱要改,改成import io,539行要改成self.outputBuffer = io.BytesIO()
修改二: 運行程序的時候有報錯,AttributeError: ‘dict' object has no attribute ‘has_key' 發(fā)現(xiàn)has_key的又被K掉了
到642行去做修改,if not rmap.has_key(cls): 需要換成 if not cls in rmap: (修改的時候換行、空格等不要改掉原有的格式)
修改三: 運行,繼續(xù)有報錯:'str' object has no attribute ‘decode'
好像是3里面對字符的操作,decode已經(jīng)拿掉了。定位一下,報在了772行,ue = e.decode(‘latin-1'),那么不需要decode操作了吧,直接改成 ue = e ,另外766還有類似的uo = o.decode(‘latin-1'),可不動先留著;
打開本地文件需用 fp = open(filename,'wb'),不要再去用file了;關(guān)閉該文件可用fp.close()
修改四: 繼續(xù)運行,發(fā)現(xiàn)還是在糾結(jié)數(shù)據(jù)類型的錯: output = saxutils.escape(uo+ue), TypeError: can't concat bytes to str
bytes和str不能直接連起來,那么778行的內(nèi)容escape(uo+ue) 有一個處理的“笨辦法”:都改成str,可修改該處內(nèi)容為escape(str(uo)+ue)
修改五:(此處是最后一處改動了) 程序已然運行大半,但是最后還是有error: print >>sys.stderr, ‘\nTime Elapsed: %s' % (self.stopTime-self.startTime) TypeError: unsupported operand type(s) for >>: ‘builtin_function_or_method' and ‘RPCProxy'
到631行,把print的語句修改掉,改成 print (sys.stderr, ‘\nTime Elapsed: %s' % (self.stopTime-self.startTime))
以上這篇解決python3運行selenium下HTMLTestRunner報錯的問題就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
徹底解決No?module?named?‘torch_geometric‘報錯的辦法
這篇文章主要給大家介紹了關(guān)于如何徹底解決No?module?named?‘torch_geometric‘報錯的辦法,文中通過實例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2022-03-03
python openpyxl方法 zip函數(shù)用法及說明
這篇文章主要介紹了python openpyxl方法 zip函數(shù)用法及說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-05-05
python提取包含關(guān)鍵字的整行數(shù)據(jù)方法
今天小編就為大家分享一篇python提取包含關(guān)鍵字的整行數(shù)據(jù)方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-12-12

