我試圖把一個「延遲」使用lxml.html屬性轉換腳本標籤,但我得到的錯誤lxml.html設置錯誤「類型錯誤:參數必須是字節或Unicode,得到了‘NoneType’」
類型錯誤:參數必須是字節或Unicode,得到了 'NoneType'
或
類型錯誤:組()恰恰2位置參數(給定1)
如果我使用
script.set('defer')
根據http://lxml.de/lxmlhtml.html
.SET(鍵,值=無): 設置HTML屬性。如果沒有給定值,或者如果值是None,它會建立像
<form novalidate></form>
或
一個布爾屬性<div custom-attribute></div>.
我的代碼是
import lxml.html
htmldoc = lxml.html.parse(file)
headElement = htmldoc.find("head")
listOfScripts = headElement.xpath("script")
if len(listOfScripts) > 0:
for script in listOfScripts:
script.set('defer', value=None)
嗯,可能是它在LXML錯誤。文檔說'None'(或者如果省略)表示設置爲布爾屬性。但恕我直言,你可以將其設置爲「推遲」字符串值,XHTML也應該吃它 –