주 메뉴 열기

wwiki β

바뀜

Selenium

2,547 바이트 추가됨, 2023년 11월 8일 (수) 00:21
편집 요약 없음
driver.close()
</syntaxhighlight>
 
== WebDriver ==
 
=== Trouble shooting ===
 
==== Errors ====
 
===== Understanding Common Errors =====
 
====== Stale Element Reference Exception ======
웹 요소의 참조가 유효하지 않은 경우에 발생하는 예외입니다.
 
Common Causes
 
페이지가 새로고침되거나 동적으로 변경되거나, 다른 페이지로 이동하거나, 다른 창이나 프레임이나 아이프레임으로 전환되는 경우에 발생할 수 있습니다.
 
Common Solutions
 
* '''DOM이 변경된 경우''': 페이지가 새로고침되거나 요소가 이동된 경우, 원하는 셀렉터를 가진 요소가 여전히 페이지에 존재하지만, 기존에 사용하던 요소 객체로는 접근할 수 없게 됩니다. 이 경우에는 요소를 다시 탐색해야 합니다. 이는 다음과 같은 두 가지 방법으로 할 수 있습니다:
** '''웹 요소를 다른 객체로 감싸기''': 웹 요소를 셀렉터를 저장하고 셀레니움 요소를 캐시하는 다른 객체로 감쌉니다. 이 감싼 객체로 작업을 수행할 때, 이전에 탐색했던 캐시된 객체를 사용하려고 하고, 만약 요소가 오래되었다면 예외를 잡아서 저장된 셀렉터로 요소를 다시 탐색하고, 메소드를 다시 시도합니다. 이 방법은 효율적이지만, 페이지가 변경된 후에 사용하는 셀렉터가 다른 요소를 참조하게 되어 원하는 요소가 아닌 경우 문제가 발생할 수 있습니다.
** '''요소 객체를 특정 컨텍스트에 저장하기''': 요소 객체는 주어진 컨텍스트에 저장되므로, 다른 컨텍스트로 이동하면 요소 참조는 여전히 유효하지만 일시적으로 접근할 수 없게 됩니다. 이 경우에는 요소를 다시 탐색해도 도움이 되지 않습니다. 왜냐하면 현재 컨텍스트에는 요소가 존재하지 않기 때문입니다. 이 문제를 해결하려면, 요소를 사용하기 전에 올바른 컨텍스트로 다시 전환해야 합니다2.
* '''다른 페이지로 이동한 경우''': 단순히 컨텍스트를 변경한 것이 아니라 다른 페이지로 이동하여 요소가 위치한 컨텍스트를 파괴한 경우입니다. 이 경우에는 현재 컨텍스트에서 요소를 다시 탐색할 수 없고, 유효한 컨텍스트로 다시 전환할 수도 없습니다. 이런 이유로 오류가 발생한 경우, 올바른 위치로 다시 이동하고 요소를 다시 탐색해야 합니다.
 
== Grid ==
https://www.selenium.dev/documentation/grid/getting_started/
==외부링크==
편집
2,431