這類問題通常會在使用特殊測試套件 (可能是 IDE) 或持續建構系統 (例如 Jenkins) 執行 ChromeDriver 或 Chrome 時發生。
請嘗試從一般使用者指令提示,啟動測試使用的 Chrome 二進位檔。確認 chromedriver.log
檔案中使用的 Chrome 二進位檔。如果您將特殊的命令列切換或引數傳遞至 Chrome,請務必一併納入這些項目。如果 Chrome 無法正常啟動,您必須修正 Chrome 安裝程序。請嘗試重新安裝。
假設您可以透過命令提示字執行 Chrome,下一步就是在測試環境中執行測試,看看是否會發生相同問題。建議您直接從一般使用者的命令提示字元串中啟動測試二進位檔或指令碼。確認您可以直接從測試中啟動 Chrome,而不需要使用 WebDriver 或 ChromeDriver。舉例來說,在 Java 中,您可以使用 ProcessBuilder API 直接啟動 Chrome 二進位檔。如果測試在測試環境中也出現相同問題,請提出新問題,並附上重現問題的操作說明。
否則,如果問題只發生在特殊測試環境中:
使用 Chrome 的替代版安裝程式。這會為所有使用者安裝 Chrome。如果您是以背景服務的形式執行 Selenium,這通常可以解決問題。
Chrome 在啟動期間常見的當機原因,是 Linux 上以根目錄使用者 (管理員) 身分執行 Chrome。雖然您可以在建立 WebDriver 工作階段時傳遞 --no-sandbox
標記,藉此解決這個問題,但我們不支援這類設定,也強烈建議您不要使用。請改為將環境設定為以一般使用者身分執行 Chrome。
如果上述解決方案都無法解決問題,請提交新問題,並附上重現問題的操作說明。請注意,如果您的問題只發生在特殊的非一般測試環境中,ChromeDriver 開發人員可能會選擇不調查及解決您的問題。