[μ λ λμ/Selenium, C#] μ ν μμ± λ° λ«λ λ°©λ² (μμ ν¬ν¨)
μ λ λμμ κ΄ν μ λ°μ μΈ λ΄μ©μ μλ λ§ν¬λ₯Ό μ°Έκ³ ν΄μ£ΌμΈμ.
[μ λ λμ/Selenium, C#] C#μμ μ λ λμμ μ¬μ©νλ λ°©λ² μ΄μ 리
μκ°
λ³Έ ν¬μ€ν μμλ Chrome Web Browserμμ μ ν(New Tab)μ μμ±νκ³ λ«λ λ°©λ²μ μκ°ν©λλ€.
λ°λΌ νκΈ°
μ νμ μμ±νλ λ°©λ²μ λ κ°μ§κ° μμ΅λλ€. JavaScriptExecutor
λ₯Ό μ΄μ©νλ λ°©λ²κ³Ό, λ¨μΆν€
λ₯Ό μ μ‘νλ λ°©λ²μ
λλ€.
//1. JavaScript
((IJavaScriptExecutor)_driver).ExecuteScript("window.open();");
//2. Send Key
_driver.FindElement(By.CssSelector("body")).SendKeys(OpenQA.Selenium.Keys.Control + "t");
μ λ μλμ νκ²½μμ ν
μ€νΈλ₯Ό νκ³ μλλ°, λ¨μΆν€ μ μ‘ λ°©μμ λμνμ§ μμμ΅λλ€. νμ§λ§ JavaScriptExecutor
λ₯Ό μ΄μ©ν λ°©λ²μ μ μμ μΌλ‘ μ νμ΄ μμ±λ©λλ€. μ΄ κΈμ 보μλ λΆλ€μ λλλλ‘ μ¬μ©νμλ©΄ λκ² μ΅λλ€.
.Net Framework 4.6.1
Selenium.Chrome.WebDriver 85.0.0
Selenium.WebDriver 3.141.0
νμ μμ±νμΌλ©΄ λλΌμ΄λ²μ ν¬μ»€μ€λ₯Ό μ νμΌλ‘ μ΄λν΄μΌ ν©λλ€. μ νμ΄ μμ±λλ©΄ νμ λ§μ§λ§μ μμΉνλ―λ‘, μμ±λ νμ Window Handleμ _driver.WindowHandles.Last()λ‘ μ»μ μ μμ΅λλ€. λ§μ½, νμ μμ±νκ³ μ²« λ²μ§Έ νμ΄λ νΉμ νμΌλ‘ μ΄λνκ³ μΆμΌλ©΄ μλμ μμ μ²λΌ μμ©ν μ μμ΅λλ€.
//λ§μ§λ§ νμΌλ‘ μ΄λ.
_driver.SwitchTo().Window(_driver.WindowHandles.Last());
//첫 νμΌλ‘ μ΄λ.
_driver.SwitchTo().Window(_driver.WindowHandles.First());
//νΉμ ν μ μ₯ ν μ΄λ.
string winHandleBefore = _driver.CurrentWindowHandle;
_driver.SwitchTo().Window(winHandleBefore);
//μ‘΄μ¬νλ λͺ¨λ ν νμΈ ν μ΄λ.
foreach(var window in _driver.WindowHandles)
{
_driver.SwitchTo().Window(window);
}
μλ‘μ΄ νμΌλ‘ ν¬μ»€μ€λ₯Ό μ΄λνμΌλ©΄, μ΄μ μ νμ΄μ§μμ μμ μ΄ μμλ©λλ€. μλ₯Ό λ€μ΄, ν μμ± ν μλ μ½λλ₯Ό μ€ννλ©΄, μ νμμ μλ‘μ΄ μ¬μ΄νΈλ‘ μ΄λνλ κ²μ΄μ£ .
//Naver.comμΌλ‘ μ΄λ.
_driver.Navigate().GoToUrl("https://naver.com");
λ§μ½, μλ‘μ΄ νμμ μμ μ΄ λλμ νμ λ«μμΌ νλ κ²½μ°μλ μλμ κ°μ΄ μ½λλ₯Ό μ¬μ©ν©λλ€. νμ΄ νλλ©΄ μΉ λΈλΌμ°μ κ° λ«νμ§λ§, μ¬λ¬ νμ΄ μ‘΄μ¬νλ©΄ ν¬μ»€μ€κ° μλ νμ΄ λ«νλλ€.
//νμ¬ ν λ«κΈ°.
_driver.Close();
//ν λ«μ ν νΉμ νμΌλ‘ ν¬μ»€μ€ μ΄λ.
_driver.SwitchTo().Window(_driver.WindowHandles.First());
λ§μ½, νμ λ«κ³ ν¬μ»€μ€λ₯Ό μ΄λνμ§ μμ μ± κ·Έλλ‘ μμ μ μ§ννλ©΄ μλ¬κ° λ°μν©λλ€. νμ λ«μ νμλ λ°λμ μ¬λ°λ₯Έ νμΌλ‘ ν¬μ»€μ€λ₯Ό μ΄λν΄μΌ ν©λλ€.
λ§μ°¬κ°μ§λ‘ μμ μ½λλ₯Ό 첨λΆνμ΅λλ€. μ°Έκ³ λ‘ μ λ‘λ μ©λ λ¬Έμ λ‘ ν¨ν€μ§ νμΌμ μ κ±°νμ΅λλ€. Seleniumμ μ¬μ©νκΈ° μν ν¨ν€μ§λ₯Ό μ€μΉν ν λμν΄λ³΄μΈμ.
'Programming > Selenium' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
λκΈ
μ΄ κΈ κ³΅μ νκΈ°
-
ꡬλ
νκΈ°
ꡬλ νκΈ°
-
μΉ΄μΉ΄μ€ν‘
μΉ΄μΉ΄μ€ν‘
-
λΌμΈ
λΌμΈ
-
νΈμν°
νΈμν°
-
Facebook
Facebook
-
μΉ΄μΉ΄μ€μ€ν 리
μΉ΄μΉ΄μ€μ€ν 리
-
λ°΄λ
λ°΄λ
-
λ€μ΄λ² λΈλ‘κ·Έ
λ€μ΄λ² λΈλ‘κ·Έ
-
Pocket
Pocket
-
Evernote
Evernote
λ€λ₯Έ κΈ
-
[μ λ λμ/Selenium, C#] ChromeDriver λ²μ μλ¬ ν΄κ²° λ°©λ²
[μ λ λμ/Selenium, C#] ChromeDriver λ²μ μλ¬ ν΄κ²° λ°©λ²
2021.04.28 -
[μ λ λμ/Selenium, C#] μ¬λ¬ νμΌ μ λ‘λνκΈ°
[μ λ λμ/Selenium, C#] μ¬λ¬ νμΌ μ λ‘λνκΈ°
2021.04.02 -
[μ λ λμ/Selenium, C#] headless μ΅μ μμ νμΌ λ€μ΄λ‘λ κ°λ₯νλλ‘ μ€μ νκΈ°
[μ λ λμ/Selenium, C#] headless μ΅μ μμ νμΌ λ€μ΄λ‘λ κ°λ₯νλλ‘ μ€μ νκΈ°
2020.08.28 -
[μ λ λμ/Selenium, C#] iFrame νκ·Έ λ° λ©μΈ μλμ°λ‘ μ ννκΈ°
[μ λ λμ/Selenium, C#] iFrame νκ·Έ λ° λ©μΈ μλμ°λ‘ μ ννκΈ°
2020.08.27