調べたのですが情報が無い為、分かる方いましたら教えてください。
よろしくお願いいたします。
困っている事
・SeleniumでChromeを操作したい
2023/7初め頃までは同じソースでエラー無く利用できていました。
急にリモートサーバー接続エラーになった
同じURLに接続していて、プログラムを全く変更していないのに、
Aさんは7月初めにエラーが出て、
Bさんは今日からエラーが出始めました。
全く同じものを利用しているのに時差?があるのが良く分からないです。
・バージョンが違ってもエラー中断しないようにしたい
新しいChromeドライバーがありますとエラーがでて中断し
Cドライブのところにゴミフォルダが出来るのが嫌です…
タスクマネージャーにもChromeDriver.exeが残るのが嫌です…。
該当のソースコード
c
1using OpenQA.Selenium;2using OpenQA.Selenium.Support.UI;3using System.IO;4using WebDriverManager;5using WebDriverManager.DriverConfigs.Impl;6using WebDriverManager.Helpers;7using OpenQA.Selenium.Chrome;8 9//略10 11 Console.WriteLine("ChromeDriverを取得");12 new DriverManager().SetUpDriver(new ChromeConfig(), VersionResolveStrategy.MatchingBrowser);//最新版に切り替え13 14 Console.WriteLine("ChromeDriverを取得完了");15 // WebDriverManagerが保存した場所16 var driverVersion = new ChromeConfig().GetMatchingBrowserVersion();17 var driverPath = $"./Chrome/{driverVersion}/X64/";18 19 var driverService = ChromeDriverService.CreateDefaultService(driverPath);20 var options = new ChromeOptions();21 options.AddExcludedArgument("enable-automation");22 options.AddArgument("--incognito");//シークレットモード23 driverService.HideCommandPromptWindow = true;//コマンドウィンドウ非表示24 chrome = new ChromeDriver(driverService, options);25 var LoginURL = "https://test";26 chrome.Url = LoginURL;27
発生している問題・エラーメッセージ
System.Net.WebException: 'リモート サーバーがエラーを返しました: (404) 見つかりません'
試したこと
LoginURLをChromeに手打ちすると普通に開けますし、
サイトもソフトも一切手を加えてませんでした。
改変前
c
1using OpenQA.Selenium;2using OpenQA.Selenium.Support.UI;3using System.IO;4using WebDriverManager;5using WebDriverManager.DriverConfigs.Impl;6using WebDriverManager.Helpers;7using OpenQA.Selenium.Chrome;8 9//略10 11 Console.WriteLine("ChromeDriverを取得");12 new DriverManager().SetUpDriver(new ChromeConfig(), VersionResolveStrategy.MatchingBrowser);//最新版に切り替え13 14 Console.WriteLine("ChromeDriverを取得完了");15 // WebDriverManagerが保存した場所16 var driverVersion = new ChromeConfig().GetMatchingBrowserVersion();17 var driverPath = $"./Chrome/{driverVersion}/X64/";18 19 var driverService = ChromeDriverService.CreateDefaultService(driverPath);20 var options = new ChromeOptions();21 options.AddExcludedArgument("enable-automation");22 options.AddArgument("--incognito");//シークレットモード23 driverService.HideCommandPromptWindow = true;//コマンドウィンドウ非表示24 chrome = new ChromeDriver(driverService, options);25 var LoginURL = "https://test";26 chrome.Url = LoginURL;27
改変後(無事Chromeが起動した)
c
1using OpenQA.Selenium;2using OpenQA.Selenium.Support.UI;3using System.IO;4using WebDriverManager;5using WebDriverManager.DriverConfigs.Impl;6using WebDriverManager.Helpers;7using OpenQA.Selenium.Chrome;8 9//略10 11 //削除 new DriverManager().SetUpDriver(new ChromeConfig(), VersionResolveStrategy.MatchingBrowser);//最新版に切り替え12 new DriverManager().SetUpDriver(new ChromeConfig());//追加13 //削除 var driverVersion = new ChromeConfig().GetMatchingBrowserVersion();14 //削除 var driverPath = $"./Chrome/{driverVersion}/X64/";15 16 //削除 var driverService = ChromeDriverService.CreateDefaultService(driverPath);17 var driverService = ChromeDriverService.CreateDefaultService();18 var options = new ChromeOptions();19 options.AddExcludedArgument("enable-automation");20 options.AddArgument("--incognito");//シークレットモード21 driverService.HideCommandPromptWindow = true;//コマンドウィンドウ非表示22 chrome = new ChromeDriver(driverService, options);23 var LoginURL = "https://test";24 chrome.Url = LoginURL;25 26
補足情報(FW/ツールのバージョンなど)
Winform .NET Framework 4.7.2
Nuget
WebDriverManager 2.16.3
Selenium.WebDriver 4.10.0
Selenium.Support 4.10.0

0 コメント