본문 바로가기
Python/Selenium

Selenium.execute_script로 자바스크립트 실행하기

by PySun 2025. 1. 4.
반응형

Selenium의 execute_script로 자바스크립트 실행하기

웹 자동화의 히어로, Selenium! 이 포스트에서는 Selenium의 execute_script 메소드를 사용하여 웹 페이지에서 자바스크립트를 실행하는 방법을 소개합니다. 이 방법을 통해 더 복잡한 상호작용을 수월하게 처리할 수 있습니다. 자바스크립트를 활용한 자동화의 세계로 함께 떠나볼까요?

execute_script 메소드 소개

execute_script 메소드는 Selenium이 사용자의 브라우저에서 자바스크립트를 실행할 수 있도록 해주는 강력한 도구입니다. 이를 통해 동적인 웹 페이지의 요소와 상호작용하거나, 특정 작업을 자동으로 수행할 수 있습니다.

메소드 시그니처

driver.execute_script(script, *args)

매개변수:

  • script: 실행할 자바스크립트 코드입니다.
  • *args: 자바스크립트에서 사용할 수 있는 추가 인수입니다.

반환 값:

  • 실행된 자바스크립트 코드의 결과입니다.

사용 예제

기본 예제

다음은 execute_script 메소드를 사용하여 간단한 자바스크립트를 실행하는 기본 예제입니다.

from selenium import webdriver

# 브라우저 드라이버 설정
driver = webdriver.Chrome()

# 웹 페이지 열기
driver.get('https://example.com')

# 자바스크립트 코드 실행
result = driver.execute_script("return document.title;")

print(f"페이지 제목은: {result}")
# 출력:
# 페이지 제목은: Example Domain

# 브라우저 종료
driver.quit()

동적 요소 업데이트 예제

이제는 자바스크립트를 이용하여 웹 페이지의 요소를 동적으로 업데이트하는 예제를 살펴보겠습니다.

from selenium import webdriver

# 브라우저 드라이버 설정
driver = webdriver.Chrome()

# 웹 페이지 열기
driver.get('https://example.com')

# 자바스크립트로 새로운 요소 생성
driver.execute_script("var newElement = document.createElement('div'); newElement.innerHTML = 'Hello, World!'; document.body.appendChild(newElement);")

# 간단한 대기
driver.implicitly_wait(2)

# 웹 페이지의 HTML을 출력하여 추가된 요소 확인
print(driver.page_source)

# 브라우저 종료
driver.quit()

결론

execute_script 메소드는 Selenium을 통해 자바스크립트를 실행하여 웹 페이지 상의 동작을 자동화하는 데 매우 유용한 도구입니다. 이 방법을 이용하면 보다 복잡한 동작과 상호작용을 자유롭게 구현할 수 있습니다.

  • 자바스크립트를 활용하여 웹 페이지의 다양한 요소를 캡처하고 조작해 보세요!
  • 지금 바로 execute_script 메소드를 활용하여 웹 자동화의 새로운 가능성을 탐험해 보세요!
반응형