Troubleshooting
Katmana göre gruplanmış, Aspose.HTML FOSS için Python ile en sık ortaya çıkan sorunların çözümleri.
Stiller ve Kaskad
Bir stil sayfası kuralı hiçbir etki yapmaz. Sayfa şu ile eklenmelidir Document.attach_style_sheet() before Element.get_computed_style() çağrılır. Bağlanmamış sayfalar asla kademeye katılmaz.
Satır içi bildirimi bir stil sayfası kuralına yenilir. Yazar kuralları işaretlenmiş !important önemsiz satır içi bildirileri geçer. Şununla kontrol edin CSSStyleDeclaration.get_property_priority().
İki kural eşitlenir ve “yanlış” olan kazanır. Eşit özgüllük eşitlikleri kural sırasına göre çözülür — daha sonraki kurallar kazanır. Dizileri şununla karşılaştırın specificity() Şüpheniz olduğunda.
Miras alınan bir değer çocuğa ulaşmaz. Yerel değerler her zaman kalıtsal değerlerin üzerine yazar ve her özellik kalıtım almaz. Aşağı doğru akması gerekeni teyit etmek için önce ebeveynin hesaplanmış değerini okuyun.
Ayrıştırma ve DOM
Bozuk işaretleme hatasız olarak ayrıştırılır. Standart davranış: ağaç oluşturma, her hata durumu için kurtarmayı tanımlar. Sorunları tespit etmeniz gerekiyorsa, token akışını şununla inceleyin: Tokenizer.tokenize().
Tablo içeriği tablonun dışına çıkıyor. Foster parenting, yanlış yerleştirilmiş tablo içeriğini tarayıcıların yaptığı gibi yeniden konumlandırır. Kaynak iç içe yapıyı düzeltin.
get_element_by_id() hiçbir şey döndürmez. Öğe, şunu taşımalıdır id özniteliği ve o belgenin ağacına eklenmelidir.
Encodings
Kod çözülen metinde bir bayt sırası işareti (BOM) görünür. Kullan detect_encoding() — bu, BOM baytlarını şuradan temizler result.text. Manuel kod çözme bunları içinde bırakır.
Aynı kodlama için iki etiket eşit karşılaştırılmaz. İkisini de şu ile normalleştir get_canonical_name(); latin1 and iso-8859-1 her ikisi de windows-1252 kanonik olarak.
Scripts
Değerlendirme ModuleNotFoundError oluşturur. Betik, içinde bulunmayan bir modülü içe aktarıyor ModuleRegistry. Kayıt edin veya hatayı, sandbox ortamınızın amaçlandığı gibi çalıştığı şeklinde değerlendirin.
Bir betik hatası, veri akışını durdurur. Catch JSEvaluationError değerlendirme sınırında — bu, betik tarafı hataları için tiplenmiş bir sinyeldir.