селен chrome запуск пустой страницы при загрузке c# - PullRequest
0 голосов
/ 04 апреля 2020

Я пытаюсь использовать драйвер chrome для открытия обычного URL, вот мой код:

 public void OpenChrome(
       string Website,
       int TimeToWaitInMinutes,
       string FolderPathToStoreSession,
       out int ChromeProcessID)
        {

            try
            {

                //chrome process id
                int ProcessID = -1;

                //time to wait until open chrome
                var TimeToWait = TimeSpan.FromMinutes(TimeToWaitInMinutes);

                ChromeDriverService cService = ChromeDriverService.CreateDefaultService();

                //hide dos screen
                cService.HideCommandPromptWindow = true;

                ChromeOptions options = new ChromeOptions();

                String PROXY = "";
                Proxy proxy = new Proxy();

                proxy.HttpProxy = PROXY;
                proxy.SslProxy = PROXY;
                proxy.FtpProxy = PROXY;
                proxy.Kind = ProxyKind.Manual;
                proxy.IsAutoDetect = false;

                options.Proxy = proxy;
                options.AddArgument("ignore-certificate-errors");
                //options.AddArgument("--remote-debugging-port=9222");
                //string PROXY = "";
                //options.AddArgument("--proxy-server=%s" + PROXY);
                //options.AddUserProfilePreference("download.prompt_for_download", false);
                // options.AddUserProfilePreference("download.default_directory", @"D:\");
                //session file directory
                //options.AddArgument("--user-data-dir=" + FolderPathToStoreSession);
                //options.AddArguments("chrome.switches", "--disable-extensions");

                options.AddArgument(@"--load-extension=" + "D:\\extension");
                options.AddArgument("--no-sandbox");
               // options.AddArguments("--headless");

                driver_Ref = new ChromeDriver(cService, options, TimeToWait);

                //set process id of chrome
                ProcessID = cService.ProcessId;

                driver_Ref.Navigate().GoToUrl(Website);

                ChromeProcessID = ProcessID;

            }
            catch (Exception ex)
            {
                if (driver_Ref != null)
                {
                    driver_Ref.Close();
                    driver_Ref.Quit();
                    driver_Ref.Dispose();

                }

                driver_Ref = null;

                ChromeProcessID = -1;
                throw ex;
            }
        }

, но он загружает пустую страницу с данными; в строке URL и завис, в моем коде, если я UN-комментарий строки

options.AddArguments("chrome.switches", "--disable-extensions");

, это открывает страницу нормально, без проблем, но мне нужно загрузить расширение, я использую веб-драйвер 3.141, моя ОС - окно 7 chrome версия 74 Итак, как перейти к URL и избежать пустой страницы во время обеда, и в то же время не отключать расширение, потому что мне нужно загрузить расширение? Спасибо за помощь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...