[μ λ λμ/Selenium, C#] iFrame νκ·Έ λ° λ©μΈ μλμ°λ‘ μ ννκΈ°
μ λ λμμ κ΄ν μ λ°μ μΈ λ΄μ©μ μλ λ§ν¬λ₯Ό μ°Έκ³ ν΄μ£ΌμΈμ.
[μ λ λμ/Selenium, C#] C#μμ μ λ λμμ μ¬μ©νλ λ°©λ² μ΄μ 리
[μ λ λμ/Selenium, C#] C#μμ μ λ λμμ μ¬μ©νλ λ°©λ² μ΄μ 리
μ λ λμ(Selenium)μ΄λ? μ λ λμμ μΉ λΈλΌμ°μ μλνλ₯Ό μν λΌμ΄λΈλ¬λ¦¬μ λλ€. λμ 보μ΄λ λͺ¨λ μ½ν μΈ μ μ λ ₯, ν΄λ¦, κ°μ Έμ€κΈ° λ±μ΄ κ°λ₯ν©λλ€. κ°λ¨ν μΉ μ¬μ΄νΈ μ μλΆν° λ‘κ·ΈμΈ, κ²μ, οΏ½
luckygg.tistory.com
μκ°
λ³Έ ν¬μ€ν
μμλ μΉ νμ΄μ§μ iFrame νκ·Έ
λ‘ μ ννλ λ°©λ²μ μκ°ν©λλ€.
iFrame νκ·Έλ?
iFrame νκ·Έ
λ HTML μΉ νμ΄μ§μ λ€λ₯Έ μΉ νμ΄μ§κ° μΆκ°λ κ²μ μλ―Έν©λλ€. λΆλͺ
κ°λ°μ λκ΅¬λ‘ μμλ₯Ό νμΈνλλ°, μ½λμμ μ κ·Όν λ μ°Ύμ μ μλ€λ μλ¬κ° λ°μλλ€λ©΄, μμκ° iFrame νκ·Έμ μ‘΄μ¬νλμ§ νμΈν΄μΌ ν©λλ€.
μλ μμ λ Date Picker
λ₯Ό μ 곡νλ jQuery UI
μ¬μ΄νΈμ
λλ€.
λ§ν¬: https://jqueryui.com/datepicker/
κ°μ΄λ°μ μμΉν ν
μ€νΈ λ°μ€λ iFrame νκ·Έ
λ΄μ μ‘΄μ¬νλ―λ‘, μ
λ λμμΌλ‘ μ κ·Ό μ iFrame
μΌλ‘ μ νν΄μΌ κ°λ₯ν©λλ€.
λ°λΌ νκΈ°
μ μ¬μ΄νΈμ iFrame νκ·Έ
XPath
λ λ€μκ³Ό κ°μ΅λλ€.
//*[@id="content"]/iframe"
iFrame νκ·Έ
λ° λ©μΈ μλμ°
λ‘ μ ννλ μ½λλ λ€μκ³Ό κ°μ΅λλ€.
string winHandleBefore = _driver.CurrentWindowHandle;
//iFrame μ°ΎκΈ°.
WebDriverWait wait = new WebDriverWait(_driver, TimeSpan.FromSeconds(5));
var iFrame = wait.Until(_drv => _drv.FindElement(By.XPath("//*[@id='content']/iframe")));
//iFrame μ ν.
_driver.SwitchTo().Frame(iFrame);
//iFrameμ μ‘΄μ¬νλ 컨νΈλ‘€ μμμ μ κ·ΌνκΈ°
//...
//λ©μΈ μλμ°λ‘ μ ν.
_driver.SwitchTo().Window(winHandleBefore);