亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

c# 從內(nèi)存中釋放Selenium chromedriver.exe

 更新時間:2021年01月13日 11:04:56   作者:UP技術控  
這篇文章主要介紹了c# 從內(nèi)存中釋放Selenium chromedriver.exe的方法,幫助大家更好的理解和使用c#,感興趣的朋友可以了解下

背景

我設置了一個c#代碼來運行Selenium chromedriver.exe.在運行結束時,我有browser.close()來關閉實例。(browser = webdriver.Chrome())我相信它應該從內(nèi)存中釋放chromedriver.exe(我在Windows 7上)。但是每次運行后,內(nèi)存中仍有一個chromedriver.exe實例。

問題窺探

從理論上講,調(diào)用browser.Quit將關閉所有瀏覽器選項卡并終止進程。

但是,在我的情況下,我無法做到這一點 - 因為我并行運行多個測試,我不想進行一次測試來關閉其他人的窗口。因此,當我的測試完成運行時,仍有許多“chromedriver.exe”進程在運行。

解決辦法

public override void DoJob(IJobExecutionContext context, ILifetimeScope scope, string[] args)
    {
      Console.WriteLine(nameof(LoginReptiles1688Job) + " 開始-------------------");
      ChromeOptions options = null;
      IWebDriver driver = null;
      try
      {
        options = new ChromeOptions();
        options.AddArguments("--ignore-certificate-errors");
        options.AddArguments("--ignore-ssl-errors");
        var listCookie = CookieHelp.GetCookie();
        if (listCookie != null)
        {
          // options.AddArgument("headless");
        }
        ChromeDriverService service = ChromeDriverService.CreateDefaultService(System.Environment.CurrentDirectory);
        service.HideCommandPromptWindow = true;
        driver = new ChromeDriver(service, options, TimeSpan.FromSeconds(120));
        var setLoginStatus = scope.Resolve<ISetLoginStatus>();
        IReptilesImageSearchService _reptilesImageSearchService = scope.Resolve<IReptilesImageSearchService>();
        CrawlingWeb(_reptilesImageSearchService, driver);
        CrawlingWebShop(_reptilesImageSearchService, driver);
      }
      catch (Exception ex)
      {
        throw ex;
      }
      finally
      {
        driver?.Close(); // Close the chrome window
        driver?.Quit(); // Close the console app that was used to kick off the chrome window
        driver?.Dispose(); // Close the chromedriver.exe

        driver = null;
        options = null;
        detailtry = 0;
        shoptry = 0;
        Console.WriteLine(nameof(LoginReptiles1688Job) + " 結束-------------------");
      }
    }

在C??刂婆_應用程序中使用了chrome驅動程序,只有在將所有三種方法一起調(diào)用后才能清理延遲進程。

以上就是c# 從內(nèi)存中釋放Selenium chromedriver.exe的詳細內(nèi)容,更多關于c# 內(nèi)存中釋放Selenium 的資料請關注腳本之家其它相關文章!

相關文章

  • C#實現(xiàn)遞歸算法經(jīng)典實例

    C#實現(xiàn)遞歸算法經(jīng)典實例

    這篇文章主要為大家介紹了C#實現(xiàn)遞歸算法,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-01-01
  • C#語法糖(Csharp Syntactic sugar)大匯總

    C#語法糖(Csharp Syntactic sugar)大匯總

    首先需要聲明的是“語法糖”這個詞絕非貶義詞,它可以給我?guī)矸奖?,是一種便捷的寫法,編譯器會幫我們做轉換;而且可以提高開發(fā)編碼的效率,在性能上也不會帶來損失。這讓java開發(fā)人員羨慕不已,呵呵。
    2010-06-06
  • C# DataTable中查詢指定字段名稱的數(shù)據(jù)

    C# DataTable中查詢指定字段名稱的數(shù)據(jù)

    這篇文章主要介紹了C# DataTable中查詢指定字段名稱的數(shù)據(jù),本文直接給出實例代碼,簡單易懂,需要的朋友可以參考下
    2015-06-06
  • C#動態(tài)生成DropDownList執(zhí)行失敗原因分析

    C#動態(tài)生成DropDownList執(zhí)行失敗原因分析

    這篇文章主要介紹了C#動態(tài)生成DropDownList執(zhí)行失敗原因分析,以一個實例形式分析了C#動態(tài)生成DropDownList的相關注意要點與使用技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-03-03
  • C#多線程等待所有子線程結束的示例

    C#多線程等待所有子線程結束的示例

    這篇文章主要介紹了C#多線程等待所有子線程結束的示例,幫助大家更好的理解和學習c#編程語言,感興趣的朋友可以了解下
    2020-12-12
  • C#用記事本編寫簡單WinForm窗體程序

    C#用記事本編寫簡單WinForm窗體程序

    這篇文章主要為大家詳細介紹了C#用記事本編寫簡單WinForm窗體程序,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-03-03
  • Unity3D Shader實現(xiàn)貼圖切換效果

    Unity3D Shader實現(xiàn)貼圖切換效果

    這篇文章主要為大家詳細介紹了Unity3D Shader實現(xiàn)貼圖切換效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-03-03
  • MVC設定默認路由為指定的Area下的某個action

    MVC設定默認路由為指定的Area下的某個action

    今天小編就為大家分享一篇關于MVC設定默認路由為指定的Area下的某個action,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-01-01
  • C# 泛型字典 Dictionary的使用詳解

    C# 泛型字典 Dictionary的使用詳解

    本文主要介紹了C# 泛型字典 Dictionary的使用詳解,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-05-05
  • C#中使用Join與GroupJoin將兩個集合進行關聯(lián)與分組

    C#中使用Join與GroupJoin將兩個集合進行關聯(lián)與分組

    這篇文章主要介紹了C#中使用Join與GroupJoin將兩個集合進行關聯(lián)與分組,文中分別對Join和GroupJoin的用法進行詳細說明,需要的朋友可以參考下
    2017-12-12

最新評論