Troubleshooting
Correcciones para los problemas que aparecen con más frecuencia con Aspose.HTML FOSS para Python, agrupados por capa.
Estilos y la cascada
Una regla de hoja de estilo no tiene efecto. La hoja debe estar adjunta con Document.attach_style_sheet() before Element.get_computed_style() se llama. Las hojas no adjuntas nunca participan en la cascada.
Una declaración en línea pierde frente a una regla de hoja de estilo. Reglas del autor marcadas !important superan a las declaraciones en línea no importantes. Verifique con CSSStyleDeclaration.get_property_priority().
Dos reglas empatan y la “incorrecta” gana. Los empates de especificidad igual se resuelven por el orden de las reglas — las reglas posteriores ganan. Compare tuplas con specificity() cuando tengas dudas.
Un valor heredado no llega a un hijo. Los valores locales siempre sobrescriben a los heredados, y no todas las propiedades se heredan. Lee primero el valor calculado del padre para confirmar qué debe fluir hacia abajo.
Análisis y el DOM
El marcado malformado se analiza sin generar un error. Comportamiento según los estándares: la construcción del árbol define la recuperación para cada caso de error. Si necesitas detectar problemas, inspecciona el flujo de tokens mediante Tokenizer.tokenize().
El contenido de la tabla aparece fuera de su tabla. El ‘foster parenting’ reubicó el contenido de tabla fuera de lugar, exactamente como hacen los navegadores. Corrige la anidación en el origen.
get_element_by_id() no devuelve nada. El elemento debe llevar el id atributo y estar adjunto al árbol de ese documento.
Encodings
Una marca de orden de bytes aparece en el texto decodificado. Utilice detect_encoding() — elimina los bytes BOM de result.text. La decodificación manual los deja.
Dos etiquetas para la misma codificación son diferentes al compararlas. Normaliza ambos con get_canonical_name(); latin1 and iso-8859-1 son ambos windows-1252 canónicamente.
Scripts
La evaluación lanza ModuleNotFoundError. El script importa un módulo que no está presente en ModuleRegistry. Regístralo o trata el error como que tu sandbox funciona como se pretende.
Una falla de script derriba la canalización. Catch JSEvaluationError en el límite de evaluación — es la señal tipada para fallas del lado del script.