sitelink1  
sitelink2  
sitelink3  
extra_vars4  
extra_vars5  
extra_vars6  

Selenium WebDriver에서 WebDriver.get() WebDriver.navigate().to() 함수는 기본적으로 동일한 기능을 수행하지만, 몇 가지 차이점이 있습니다.

 

- WebDriver.get()

                         이 함수는 주어진 URL로 이동하고, 페이지가 완전히 로드될 때까지 (즉, onload 이벤트가 발생할 때까지) 대기합니다.

                         페이지에 많은 JavaScript나 다른 리소스가 포함되어 있는 경우, 호출이 오래 걸릴 수 있습니다.

- WebDriver.navigate().to()

                        이 함수는 `WebDriver.get()`와 동일하게 주어진 URL로 이동하지만, 추가적인 기능을 제공합니다.

                         브라우저의 히스토리를 추적하고 한 페이지씩 앞뒤로 이동할 수 있습니다. 

                         또한, 현재 URL을 새로 고침할 수 있습니다.

                         가장 중요한 점은, `WebDriver.navigate().to()`를 사용할 때마다 쿠키를 유지한다는 것입니다.

                         `WebDriver.get()`은 각 호출마다 세션 상태를 버리지만, `WebDriver.navigate().to()`는 상태를 유지합니다.

                         이는 로그인과 싱글 페이지 앱과 같은 많은 시나리오를 테스트하는 데 필요합니다.

 

따라서, `WebDriver.get()`은 사용하기 쉽지만, `WebDriver.navigate().to()`는 두 가지 주요한 장점을 가지고 있습니다.

  • 첫째, `WebDriver.navigate().to()`는 히스토리 내의 페이지를 탐색하고 현재 페이지를 새로 고침하는 추가적인 메서드를 제공합니다.
  • 둘째, 각 URL을 탐색할 때마다 상태를 유지하므로 쿠키와 다른 세션 데이터가 각 페이지 로드 간에 유지됩니다.

 

출처: Bing과의 대화, 2024. 5. 5.

(1) Difference between webdriver.get () and webdriver.navigate (). https://stackoverflow.com/questions/5664808/difference-between-webdriver-get-and-webdriver-navigate.

(2) Difference Between get() and navigate() in Selenium WebDriver. https://www.baeldung.com/selenium-webdriver-get-vs-navigate.

(3) firefox - Difference between webdriver.get() and webdriver.navigate.to() in the case .... https://stackoverflow.com/questions/33865618/difference-between-webdriver-get-and-webdriver-navigate-to-in-the-case-of-ur.

(4) java - driver.get(url) vs driver.navigate().to(url); - Stack Overflow. https://stackoverflow.com/questions/63102108/driver-geturl-vs-driver-navigate-tourl.

(5) Selenium WebDriver -Navigation Commands – Difference between get () and navigate .... https://www.qaslice.com/post/selenium-webdriver-navigation-commands-difference-between-get-and-navigate-to-methods.

(6) undefined. http://www.google.com.

(7) undefined. http://www.example.com.

(8) undefined. https://www.baeldung.com/.

 

 

※ otonapoi : 참고로 동일한 도메인의 다른 페이지를 WebDriver.get() 함수로 호출한다면 페이지가 로드 되기 전에 Thread.sleep(2000) 으로 약간의 지연을 주도록 한다.

    그리하면 WebDriver.get() 함수도 세션이 끊기지 않고 페이지 이동이 가능하다.

    지연시간동안 다음 페이지가 로드되고 onload 까지 동작하기 때문에 세션을 유지할 수 있는 것으로 보인다.