Chrome ไม่เริ่มทำงานหรือขัดข้องในทันที

กรณีนี้มักเกิดขึ้นเมื่อใช้ ChromeDriver หรือ Chrome โดยใช้โปรแกรมทดสอบพิเศษ (อาจเป็น IDE) หรือระบบบิลด์แบบต่อเนื่อง (เช่น Jenkins)

ก่อนอื่น ให้ลองเปิดไบนารี Chrome เดียวกันกับที่การทดสอบใช้จากพรอมต์คำสั่งของผู้ใช้ตามปกติ (ตรวจสอบไฟล์ chromedriver.log เพื่อดูว่ากำลังใช้ Chrome เวอร์ชันใดอยู่) หากคุณส่งการเปลี่ยนบรรทัดคำสั่งหรืออาร์กิวเมนต์พิเศษ ไปยัง Chrome โปรดใส่ตัวเลือกหรืออาร์กิวเมนต์เหล่านั้นด้วย หาก Chrome เริ่มทำงานอย่างไม่ถูกต้อง คุณต้องแก้ไขการติดตั้ง Chrome (โดยการติดตั้งใหม่)

สมมติว่าคุณสามารถเรียกใช้ Chrome จากพรอมต์คำสั่งได้ ขั้นตอนต่อไปคือดูว่าเกิดปัญหาเดียวกันหรือไม่เมื่อเรียกใช้การทดสอบในสภาพแวดล้อมการทดสอบ (แนะนำให้เปิดไบนารีการทดสอบหรือสคริปต์ทดสอบโดยตรงจากพรอมต์คำสั่งของผู้ใช้ปกติ) นอกจากนี้คุณควรตรวจสอบว่าคุณสามารถเปิด Chrome ได้โดยตรงจากการทดสอบ (โดยไม่ใช้ WebDriver/ChromeDriver) เช่น ใน Java คุณอาจใช้ ProcessBuilder API เพื่อเริ่มไบนารี Chrome โดยตรง หากการทดสอบของคุณแสดงปัญหาเดียวกันแม้ในสภาพแวดล้อมการทดสอบ ให้ยื่นปัญหาใหม่พร้อมทั้งวิธีการทำให้เกิดปัญหาซ้ำ

หรือไม่เช่นนั้น หากปัญหาเกิดขึ้นเฉพาะในสภาพแวดล้อมการทดสอบพิเศษ ให้ดำเนินการดังนี้

ใช้โปรแกรมติดตั้งสำรองของ Chrome การทำเช่นนี้จะติดตั้ง Chrome สำหรับผู้ใช้ทุกคน วิธีนี้มักแก้ปัญหาได้หากคุณใช้ Selenium เป็นบริการที่ทำงานอยู่เบื้องหลัง

สาเหตุที่พบบ่อยที่ทําให้ Chrome ขัดข้องระหว่างการเริ่มต้นคือให้ Chrome เป็นผู้ใช้รูท (ผู้ดูแลระบบ) ใน Linux แม้ว่าคุณจะสามารถแก้ปัญหานี้ได้โดยการส่งผ่าน Flag --no-sandbox เมื่อสร้างเซสชัน WebDriver แต่เราไม่รองรับการกำหนดค่าดังกล่าวและไม่แนะนำอย่างยิ่ง กำหนดค่าสภาพแวดล้อมของคุณ เพื่อเรียกใช้ Chrome ในฐานะผู้ใช้ทั่วไปแทน

หากวิธีแก้ปัญหาเหล่านี้ไม่ช่วยแก้ปัญหา ให้แจ้งปัญหาใหม่พร้อมคำแนะนำในการทำให้ปัญหาเกิดซ้ำ หากปัญหาของคุณเกิดขึ้นเฉพาะในสภาพแวดล้อมการทดสอบพิเศษที่ไม่ปกติ โปรดทราบว่านักพัฒนาซอฟต์แวร์ ChromeDriver อาจเลือกที่จะไม่ตรวจสอบ/แก้ปัญหาของคุณ