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 까지 동작하기 때문에 세션을 유지할 수 있는 것으로 보인다.

번호 제목 글쓴이 날짜 조회 수
63 [Selenium] 크롬 브라우저 실행 화면을 출력하거나 감추는 방법 황제낙엽 2024.05.05 0
» [Selenium] 페이지 이동 함수 황제낙엽 2024.05.05 0
61 [Selenium] Chrome 실행 자동화 file 황제낙엽 2024.05.03 1
60 [Selenium] MS Edge 실행 자동화(RPA, Robotic Process Automation) file 황제낙엽 2024.05.02 25
59 [Selenium] Warning : Unable to find CDP implementation matching 124 황제낙엽 2024.05.02 0
58 프로젝트 WBS 예제 (Microsoft Project 2013) secret 황제낙엽 2021.05.12 0
57 WBS (Work Breakdown Structure) 황제낙엽 2020.06.18 35
56 프로젝트 진행 절차 file 황제낙엽 2020.05.21 58
55 BDD (Behaviour-Driven Development) 황제낙엽 2020.04.02 29
54 요구사항 개발과 요구사항 관리 요약(요구사항기술서 샘플) file 황제낙엽 2019.07.07 112
53 뒤늦게 정리하는 UML (Unified Modeling Language) 요약 file 황제낙엽 2017.03.29 458
52 StarUML™의 숨은 재미있는 기능 황제낙엽 2017.03.29 356
51 The Facade Pattern file 황제낙엽 2017.01.04 312
50 와블스 프로세스(Warbles Process) 황제낙엽 2016.07.17 237
49 비 개발자 출신이 스크럼 마스터가 될 수 있는가? 황제낙엽 2015.06.25 356
48 디자인패턴[Observer 패턴] 황제낙엽 2013.10.18 156
47 PMBOK 5판 이해관계자 관리의 이해 [1] file 황제낙엽 2013.08.23 1291
46 Validation and Verification file 황제낙엽 2013.08.23 117
45 이해관계자의 관리/이해관계자 분석 황제낙엽 2013.08.23 392
44 성공적인 HR 프로젝트의 비결: 이해관계자 분석 file 황제낙엽 2013.08.23 302