Удалите все скрытые элементы в HTML, используя Pyquery в Python

У меня есть кусок HTML-кода, где я должен удалить скрытые элементы из него. Я пробовал следующий код

from pyquery import PyQuery

html_data = '''
<div style="display: none;">This is a hidden div.</div>
<p>This is another paragraph.</p>
<span style="display: none;">This is a span</span>
<div>This is a div.</div>
'''

pq = PyQuery(html_data)
pq(':hidden').remove()
pq.html()
pq.remove(':hidden')
pq.html()

Это не удаление скрытых элементов. Любая идея, как удалить эти скрытые элементы

1 ответ

Поскольку pyquery не поддерживает псевдоклассы, такие как:hidden, я добавил свой собственный класс ("myhide"), чтобы использовать его в качестве селектора. Поэтому я использовал следующий код для удаления скрытых элементов

from pyquery import PyQuery

html_data = '''
<div style="display: none;" class="myhide">This is a hidden div.</div>
<p>This is another paragraph.</p>
<span style="display: none;" class="myhide">This is a span</span>
<div>This is a div.</div>
'''

pq = PyQuery(html_data)
pq('.myhide').remove()
pq.html()

Таким образом, результат получается так

This is another paragraph
This is a div
Другие вопросы по тегам