Я использую Python 3.3 и LXML 3.2.0Как вставить HTML-элемент в дереве lxml.html
Проблема: У меня есть веб-страницы в переменной webpageString = "<html><head></head><body>webpage content</body></html>"
И я хочу, чтобы вставить CSS-ссылка тег между двумя тегами заголовков, так что я получаю webpageString = "<html><head><link rel='stylesheet' type='text/css'></head><body>webpage content</body></html>"
Я написал следующий код:
def addCssCode(self):
tree = html.fromstring(self.article)
headTag = tree.xpath("//head")
#htmlTag = tree.getroot()
if headTag is None:
pass #insert the head tag first
cssLinkString = "<link rel='stylesheet' type='text/css' href='"+ self.cssLocation+"'>"
headTag[0].insert(1, html.HtmlElement(cssLinkString))
print(cssLinkString)
self.article = html.tostring(tree).decode("utf-8")
Whi кан приводит к вставке зача-
<HtmlElement>< link rel='stylesheet' type='text/css' href='cssCode.css' ></HtmlElement>
Я также попробовал решение в следующей странице идентичной проблемы, но она также не работает. python lxml append element after another element
Как я могу это решить? Thanks
Спасибо, это сработало, но оно не имеет ничего общего с методом append(). Мне нужно использовать insert(), потому что мне нужно вставить тег ссылки в определенную позицию, то есть после тега title. – user1986258
@ user1986258, я обновил код. – falsetru