Troubleshooting
การแก้ไขสำหรับปัญหาที่พบบ่อยที่สุดกับ Aspose.HTML FOSS สำหรับ Python, จัดกลุ่มตามชั้น.
สไตล์และการไหลของ Cascade
กฎ stylesheet ไม่มีผล. ชีตต้องถูกแนบด้วย Document.attach_style_sheet() before Element.get_computed_style() ถูกเรียกว่า. ชีตที่ไม่ได้แนบจะไม่เข้าร่วมใน cascade.
การประกาศแบบ inline พ่ายแพ้ต่อกฎ stylesheet. Author rules ที่ทำเครื่องหมาย !important เหนือกว่า non-important inline declarations. ตรวจสอบกับ CSSStyleDeclaration.get_property_priority().
สองกฎเสมอกันและ “wrong” ชนะ. การเสมอของความจำเพาะเท่ากันจะถูกแก้โดยลำดับกฎ — กฎที่ตามมาชนะ. เปรียบเทียบ tuples กับ specificity() เมื่อสงสัย.
ค่าที่สืบทอดไม่ได้ไปถึงลูก. ค่าท้องถิ่นจะครอบคลุมค่าที่สืบทอดเสมอ และไม่ใช่ทุกคุณสมบัติที่สืบทอดได้. อ่านค่าที่คำนวณแล้วของพาเรนต์ก่อนเพื่อยืนยันว่าควรส่งต่ออะไรลงไป.
การวิเคราะห์และ DOM
มาร์กอัปที่ผิดรูปแบบยังคงถูกพาร์สโดยไม่มีข้อผิดพลาด. พฤติกรรมตามมาตรฐาน: การสร้างต้นไม้กำหนดการกู้คืนสำหรับทุกกรณีข้อผิดพลาด. หากคุณต้องการตรวจจับปัญหา ให้ตรวจสอบสตรีมโทเคนผ่าน Tokenizer.tokenize().
เนื้อหาในตารางปรากฏอยู่นอกตาราง. Foster parenting ย้ายเนื้อหาตารางที่วางผิดตำแหน่ง ไปยังที่เหมาะสม อย่างที่เบราว์เซอร์ทำ. แก้ไขการซ้อนกันของต้นฉบับ.
get_element_by_id() ไม่คืนค่าอะไร. องค์ประกอบต้องมี id attribute และต้องแนบเข้ากับโครงสร้างต้นไม้ของเอกสารนั้น.
Encodings
เครื่องหมายลำดับไบต์ (byte-order mark) ปรากฏในข้อความที่ถอดรหัส. ใช้ detect_encoding() — มันลบไบต์ BOM จาก result.text. การถอดรหัสด้วยตนเองจะทิ้งไว้.
สองป้ายกำกับสำหรับการเข้ารหัสเดียวกันเปรียบเทียบไม่เท่ากัน. ทำให้ทั้งสองเป็นมาตรฐานด้วย get_canonical_name(); latin1 and iso-8859-1 เป็นทั้งสอง windows-1252 ตามมาตรฐาน.
Scripts
การประเมินทำให้เกิด ModuleNotFoundError. สคริปต์นำเข้าโมดูลที่ไม่มีอยู่ใน ModuleRegistry. ลงทะเบียนมันหรือถือว่าข้อผิดพลาดเป็นผลของ sandbox ของคุณทำงานตามที่ตั้งใจไว้.
ความล้มเหลวของสคริปต์ทำให้ระบบ pipeline หยุดทำงาน. Catch JSEvaluationError ที่ขอบเขตการประเมิน — เป็นสัญญาณที่พิมพ์ไว้สำหรับความล้มเหลวด้านสคริปต์.