2025年04月末 Chrome ブラウザバージョン 136.0.7103.49最新版で
Selenium 接続時下記のエラーが出た
The HTTP request to the remote WebDriver server for URL http://localhost:51216/session timed out after 60 seconds.
Selenium が WebDriver(おそらく ChromeDriver)に対してセッションを作成しようとした。
60秒待っても応答が返ってこなかった というエラーらしい。
Selenium が ChromeDriver を起動して接続する場合、 私の記憶では WebSocket だったように思える
ブラウザの詳細ログをファイルに吐き出せるように設定
var options = new ChromeOptions(); options.AddArgument("--verbose"); // 詳細ログを出す var driver = new ChromeDriver(options); var service = ChromeDriverService.CreateDefaultService(); service.LogPath = "chromedriver.log"; service.EnableVerboseLogging = true; var driver = new ChromeDriver(service, new ChromeOptions());
調査してみると WebDriver.StartSession() の段階、ChromeDriver プロセスは起動したが、Selenium がブラウザとセッションを開始できなかったようだった
–user-data-dirと–profile-directoryをオプションから外すとうまく動作した
プロファイルを引き続き使えないのは不便。
Chromeブラウザのバグであれば直してほしい。
IWindow.Size はSystem.Drawing.Sizeが設定できる
–start-maximizedをオプション設定しなくともWindowsの場合
driver.Manage().Windowは OpenQA.Selenium.IWindow でSystem.Drawing.Sizeがセットできる
var options = new ChromeOptions(); var driver = new ChromeDriver(options); // ディスプレイ全体のサイズに合わせる(例:1920x1080) driver.Manage().Window.Size = new System.Drawing.Size(1920, 1080); // または最大化 driver.Manage().Window.Maximize();
5/8に確認すると、136.0.7103.93 アップデートで –user-data-dirと–profile-directory部分のバグが直っていた