Chrome לא מופעל או קורס מיד

לרוב זה קורה כשמפעילים את ChromeDriver או Chrome באמצעות מסגרת בדיקה מיוחדת (למשל IDE) או מערכת build רציפה (כמו Jenkins).

תחילה, נסו להפעיל את אותו קובץ בינארי של Chrome שמשמש את הבדיקה משורת פקודה רגילה של משתמש (כדאי לבדוק את הקובץ chromedriver.log כדי לראות במה משתמשים ב-Chrome). אם אתם מעבירים ל-Chrome ארגומנטים מיוחדים או מתגים מיוחדים בשורת הפקודה, חשוב לכלול גם אותם. אם Chrome לא פועל כראוי, עליך לתקן את ההתקנה של Chrome (אולי על ידי התקנה מחדש).

בהנחה שתוכלו להריץ את Chrome משורת פקודה, השלב הבא הוא לבדוק אם אותה בעיה מתרחשת כשמריצים את הבדיקה בסביבת בדיקה (עדיף להפעיל את הקובץ הבינארי של הבדיקה או את הסקריפט ישירות משורת הפקודה של משתמש רגיל). כמו כן, כדאי לוודא שיש לך אפשרות להפעיל את Chrome ישירות מהבדיקה (בלי להשתמש ב-WebDriver/ChromeDriver). לדוגמה, ב-Java, אפשר להשתמש ב-ProcessBuilder API כדי להפעיל ישירות את הקובץ הבינארי של Chrome. אם בבדיקה רואים את אותה בעיה גם בסביבת הבדיקה, צריך לשלוח טופס חדש עם הוראות לשחזור הבעיה.

אחרת, אם הבעיה מתרחשת רק בסביבת הבדיקה המיוחדת:

באמצעות מנהל ההתקנה החלופי של Chrome. אפשרות זו מתקינה את Chrome לכל המשתמשים. בדרך כלל אפשר לפתור בעיות אם אתם מפעילים את Selenium בתור שירות רקע.

אחת הסיבות הנפוצות לקריסה של Chrome במהלך ההפעלה היא Chrome כמשתמש Root (אדמין) ב-Linux. אפשר לעקוף את הבעיה על ידי העברת הסימון --no-sandbox בזמן יצירת סשן של WebDriver, אבל הגדרה כזו לא נתמכת ומאוד מומלץ. הגדירו את הסביבה כך שתפעיל את Chrome כמשתמש רגיל במקום זאת.

אם הבעיה נמשכת למרות שניסיתם לפתור את הבעיה, פתחו בעיה חדשה עם ההוראות לשחזור הבעיה. אם הבעיה מתרחשת רק בסביבת בדיקה מיוחדת ולא נפוצה, ייתכן שמפתחי ChromeDriver יבחרו לא לחקור את הבעיה או לפתור אותה.