Je veux trouver toutes les définitions de feuille de style dans un fichier XHTML avec lxml.etree.findall
. Cela pourrait être aussi simple queetree.findall: Recherche 'OR'?
elems = tree.findall('link[@rel="stylesheet"]') + tree.findall('style')
Mais le problème avec les définitions de style CSS est que l'ordre est important, par ex.
<link rel="stylesheet" type="text/css" href="/media/css/first.css" />
<style>body:{font-size: 10px;}</style>
<link rel="stylesheet" type="text/css" href="/media/css/second.css" />
si le contenu de la balise style
est appliquée après les règles dans les deux balises link
, le résultat peut être complètement différent de celui où les règles sont appliquées dans l'ordre d'apparition. Alors, comment faire une recherche qui inclut à la fois link[@rel="stylesheet"]
et style
?
drôle, j'ai essayé avec cette expression 'tree.findall', il n'y a pas eu pour moi que' tree.xpath' pourrait fonctionner. Merci! –
De rien! Au moment où j'écrivais, je me suis rendu compte que votre expression 'findall' contenait un prédicat que je ne savais pas qu'elle accepterait. Je ne suis pas revenu à 'findall' depuis que je me suis familiarisé avec' xpath'. – MattH