Troubleshooting
Remedii pentru problemele care apar cel mai des cu Aspose.HTML FOSS pentru Python, grupate pe nivel.
Stiluri și Cascada
O regulă din foaia de stil nu are efect. Foaia trebuie să fie atașată cu Document.attach_style_sheet() before Element.get_computed_style() se numește. Foile neatașate nu participă niciodată la cascadă.
O declarație inline pierde în fața unei reguli din foaia de stil. Regulile autorului marcate !important au prioritate față de declarațiile inline neimportante. Verificați cu CSSStyleDeclaration.get_property_priority().
Două reguli se egalează și cea „greșită” câștigă. Egalitățile de specificitate egală se rezolvă prin ordinea regulilor — regulile ulterioare câștigă. Comparați tuplele cu specificity() în caz de îndoială.
O valoare moștenită nu ajunge la un copil. Valorile locale înlocuiesc întotdeauna pe cele moștenite, iar nu fiecare proprietate moștenește. Citește mai întâi valoarea calculată a părintelui pentru a confirma ce ar trebui să se transmită în jos.
Analiza și DOM
Marcajul malformat este analizat fără eroare. Comportament conform standardelor: construcția arborelui definește recuperarea pentru fiecare caz de eroare. Dacă trebuie să detectezi probleme, inspectează fluxul de tokenuri prin Tokenizer.tokenize().
Conținutul tabelului apare în afara tabelului său. Foster parenting mută conținutul tabelului plasat greșit, exact așa cum fac browserele. Corectează imbricarea sursei.
get_element_by_id() nu returnează nimic. Elementul trebuie să conțină id atributul și să fie atașat arborelui acelui document.
Encodings
Un marcaj de ordine a octeților apare în textul decodat. Folosiți detect_encoding() — elimină octeții BOM din result.text. Decodarea manuală le lasă.
Două etichete pentru aceeași codare nu sunt egale la comparare. Normalizează ambele cu get_canonical_name(); latin1 and iso-8859-1 sunt ambele windows-1252 canonic.
Scripts
Evaluarea declanșează ModuleNotFoundError. Scriptul importă un modul care nu este prezent în ModuleRegistry. Înregistrează-l sau tratează eroarea ca și cum sandbox-ul tău funcționează conform intenției.
O eroare de script întrerupe linia de procesare. Catch JSEvaluationError la limita de evaluare — este semnalul tipat pentru erorile de pe partea de script.