[μ λ λμ/Selenium, C#] headless μ΅μ μμ νμΌ λ€μ΄λ‘λ κ°λ₯νλλ‘ μ€μ νκΈ°
eμ λ λμμ κ΄ν μ λ°μ μΈ λ΄μ©μ μλ λ§ν¬λ₯Ό μ°Έκ³ ν΄μ£ΌμΈμ.
[μ λ λμ/Selenium, C#] C#μμ μ λ λμμ μ¬μ©νλ λ°©λ² μ΄μ 리
μκ°
λ³Έ ν¬μ€ν
μμλ headless
μ΅μ
μΌλ‘ λμ μ νμΌ λ€μ΄λ‘λκ° κ°λ₯νλλ‘ μ€μ νλ λ°©λ²μ μκ°ν©λλ€.
headlessμ νμΌ λ€μ΄λ‘λ
μ λ λμμ μ¬μ©νλ μ΄μ λ μ 무 μλν λλ¬ΈμΌ κ²μ λλ€. κ·Έλ¦¬κ³ μ΄λ° μλν νλ‘κ·Έλ¨μ΄ λμν λ μΉ νμ΄μ§μ λμμ΄ νλ©΄μ 보μ΄λ©΄ μ μ μκΈ°λ νκ³ , ν¬μ»€μ€κ° λκΈ° λλ¬Έμ λ€λ₯Έ μμ μ νκΈ°κ° μ΄λ ΅μ΅λλ€.
μ΄λ° μ΄μ λ‘ λλΆλΆμ΄ headless
μ΅μ
μ μ€μ νμ¬ μΉ νμ΄μ§ λμ νλ©΄μ μ¨κΈΈν
λ°μ. μ΄λ, μ
λ λμ ν¬λ‘¬ λλΌμ΄λ²μμ λ¬Έμ κ° μμ΅λλ€. λ°λ‘, νμΌ λ€μ΄λ‘λ
μ
λλ€. headless
μ΅μ
μ μ€μ νλ©΄ νμΌ λ€μ΄λ‘λ
κ° λμνμ§ μμ΅λλ€. μ΄ λ¬Έμ λ μλ €μ§ μ΄μμ΄λ©° ν¬λ‘¬ λλΌμ΄λ²λ§ ν΄λΉλλμ§λ λͺ¨λ₯΄κ² μ΅λλ€λ§, ν΄κ²°νλ λ°©λ²μ΄ μμ΅λλ€.
ν΄κ²° λ°©λ²
μλμ κ°μ΄ headless
μ΅μ
μΈμ behavior
λ° downloadPath
λ₯Ό μ§μ ν΄μ£Όλ©΄ λκ² μ΅λλ€.
//ChromeDriverService μ΄κΈ°ν
ChromeDriverService _driverService = null;
_driverService = ChromeDriverService.CreateDefaultService();
_driverService.HideCommandPromptWindow = true;
//ChromeOptions μ΄κΈ°ν
ChromeOptions _options = null;
_options = new ChromeOptions();
_options.AddArgument("headless");
var param = new Dictionary<string, object>();
param.Add("behavior", "allow");
string downloadsPath = ""; //λ€μ΄λ‘λ κ²½λ‘ μ
λ ₯.
param.Add("downloadPath", downloadsPath);
//ChromeDriver μ΄κΈ°ν
ChromeDriver _driver = null;
_driver = new ChromeDriver(_driverService, _options);
var result = ((OpenQA.Selenium.Chrome.ChromeDriver)_driver).ExecuteChromeCommandWithResult("Page.setDownloadBehavior", param);
_driver.Navigate().GoToUrl("http://www."); //μΉ μ¬μ΄νΈ μ΄λ
_driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(timeout_sec);
μΈν°λ·μ λ λλ μ¬λ¬ μ½λλ₯Ό ν μ€νΈν΄ λ΄€μ§λ§ μ λλ‘ μλλκ΅°μ. νμ§λ§ μ μ΄λ μ μ½λλ μλμ νκ²½μμ μ μμ μΌλ‘ λμνμ΅λλ€.
.Net Framework 4.6.1
Selenium.Chrome.WebDriver 83.0.0
Selenium.WebDriver 3.141.0
'Programming > Selenium' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
λκΈ
μ΄ κΈ κ³΅μ νκΈ°
-
ꡬλ
νκΈ°
ꡬλ νκΈ°
-
μΉ΄μΉ΄μ€ν‘
μΉ΄μΉ΄μ€ν‘
-
λΌμΈ
λΌμΈ
-
νΈμν°
νΈμν°
-
Facebook
Facebook
-
μΉ΄μΉ΄μ€μ€ν 리
μΉ΄μΉ΄μ€μ€ν 리
-
λ°΄λ
λ°΄λ
-
λ€μ΄λ² λΈλ‘κ·Έ
λ€μ΄λ² λΈλ‘κ·Έ
-
Pocket
Pocket
-
Evernote
Evernote
λ€λ₯Έ κΈ
-
[μ λ λμ/Selenium, C#] μ¬λ¬ νμΌ μ λ‘λνκΈ°
[μ λ λμ/Selenium, C#] μ¬λ¬ νμΌ μ λ‘λνκΈ°
2021.04.02 -
[μ λ λμ/Selenium, C#] μ ν μμ± λ° λ«λ λ°©λ² (μμ ν¬ν¨)
[μ λ λμ/Selenium, C#] μ ν μμ± λ° λ«λ λ°©λ² (μμ ν¬ν¨)
2020.09.12 -
[μ λ λμ/Selenium, C#] iFrame νκ·Έ λ° λ©μΈ μλμ°λ‘ μ ννκΈ°
[μ λ λμ/Selenium, C#] iFrame νκ·Έ λ° λ©μΈ μλμ°λ‘ μ ννκΈ°
2020.08.27 -
[μ λ λμ/Selenium, C#] λ¬λ ₯(Date Picker) λ μ§ μ ννκΈ°(μμ ν¬ν¨)
[μ λ λμ/Selenium, C#] λ¬λ ₯(Date Picker) λ μ§ μ ννκΈ°(μμ ν¬ν¨)
2020.08.24