본문 바로가기
카테고리 없음

JavaScript를 활용한 네이버 계정 및 비밀번호 입력

by 퍼포먼스마케팅코더 2024. 3. 22.
반응형

document.getElementById('id').value = arguments[0];

 

이 JavaScript 코드 조각은 두 부분으로 구성되어 있음. DOM 요소 선택과 값 할당임.

  1. DOM 요소 선택: document.getElementById('id')
    • 이 부분은 HTML 문서 내에서 고유한 ID 속성을 가진 요소를 찾음. 여기서 'id'는 찾고자 하는 요소의 ID를 가리킴. 예를 들어, 만약 로그인 폼에 사용자 이름을 입력하는 <input> 요소의 ID가 'id'라면, 이 코드는 그 <input> 요소를 찾음.
    • document 객체는 현재 웹 페이지를 나타냄. getElementById 메서드는 주어진 ID 값을 가진 요소를 문서에서 찾아서 반환, 반환된 요소는 이후에 JavaScript 코드에서 조작될 수 있음.
  2. 값 할당: .value = arguments[0];
    • 찾아낸 DOM 요소 (여기서는 <input> 요소)의 value 속성을 설정. value 속성은 사용자에게 보이는 텍스트 필드 내용을 나타냄. 따라서 이 코드는 사용자 이름 입력 필드에 특정 값을 프로그래밍적으로 입력하게 됨.
    • arguments[0]는 이 JavaScript 코드를 실행하는 함수 호출에서 첫 번째 인자를 의미. Selenium의 execute_script 메소드를 사용할 때, arguments[0]는 해당 메소드 호출에서 전달된 첫 번째 파이썬 인자에 해당. 예를 들어, driver.execute_script("document.getElementById('id').value = arguments[0];", username)에서 arguments[0]username 변수의 값을 가리킵니다. 즉, 이 코드는 사용자 이름 입력 필드(<input id="id">)에 username 변수의 값을 설정합니다.

이 방식을 사용하면, Selenium을 통해 웹 페이지의 자바스크립트를 직접 실행하여 사용자 입력을 시뮬레이션할 수 있음. 따라서 아래와 같이 username, password 를 변수로 잡고, 진행하면 문제없이 셀레늄에서 네이버 로그인이 실행됨. 

driver.execute_script("document.getElementById('id').value = arguments[0];", username)
driver.execute_script("document.getElementById('pw').value = arguments[0];", password)

 

 

반응형

댓글