Ένα χρονικό όριο στο waitForSelector σημαίνει ότι το αναμενόμενο στοιχείο δεν ικανοποίησε τη συνθήκη αναμονής του. Η προσθήκη διαμεσολαβητή πριν εμφανιστεί δεν αποδεικνύει ότι η σύνδεση TCP του διαμεσολαβητή έληξε.

  1. Διατηρήστε τα στοιχεία της πλοήγησης. Καταγράψτε το τελικό URL, την κατάσταση της κύριας απόκρισης και τα σχετικά αποτυχημένα αιτήματα πριν από την αναμονή του επιλογέα. Στο Puppeteer μια απόκριση σφάλματος HTTP δεν εκπέμπεται κατ' ανάγκη ως εξαίρεση πλοήγησης.
  2. Εξετάστε το παραδοτέο έγγραφο. Ο τίτλος του ή ένα προσεκτικά επεξεργασμένο στιγμιότυπο οθόνης μπορεί να αποκαλύψει πρόκληση σύνδεσης, σελίδα άρνησης πρόσβασης ή διαφορετική περιφερειακή σελίδα. Η επιδιωκόμενη σελίδα μπορεί επίσης να είχε αποτυχημένα αιτήματα εφαρμογής· ελέγξτε και τον επιλογέα και το πλαίσιο.
  3. Αντιμετωπίστε κάθε πρόκληση στην πηγή της. Διαμορφώστε υποστηριζόμενη αυθεντικοποίηση διαμεσολαβητή πριν από την πλοήγηση για πρόκληση διαμεσολαβητή. Η πρόκληση προορισμού ανήκει στην εξουσιοδοτημένη ροή εργασίας της εφαρμογής και έχει δικά της διαπιστευτήρια.

Αυτό συχνά αποκαλύπτει χρήσιμα στοιχεία που υπήρχαν πριν η αναμονή στοιχείου γίνει η πρώτη εξαίρεση που ανέφερε ο κώδικάς σας. Η παροχή κωδικού ιστότοπου στον διαμεσολαβητή δεν μπορεί να διορθώσει εκείνο το προγενέστερο έγγραφο.

Επιλέξτε το χρονόμετρο αφού εντοπίσετε την αποτυχημένη λειτουργία. Η πλοήγηση, η ρύθμιση δικτύου και οι αναμονές στοιχείων έχουν διαφορετικά όρια. Μια πραγματικά αργή διεπαφή μπορεί να δικαιολογήσει μεγαλύτερη αναμονή επιλογέα· μια σελίδα σφάλματος όμως θα παραμείνει το λάθος έγγραφο.

Διατηρήστε σταθερή τη συνεδρία του προγράμματος περιήγησης και τη διαδρομή κατά τη σύγκριση. Η αλλαγή του διαμεσολαβητή, του επιλογέα και όλης της κατάστασης του προγράμματος περιήγησης σε μία προσπάθεια κρύβει ποια συνθήκη είχε σημασία.

Σχετικά άρθρα