반응형

안녕하세요

예전부터 쭈욱 해왔던 셀레니엄 메크로만들기를 소개해드리겠습니다. 

일단은 설명부터 해드리겠습니다. 

PYTHON의 언어에 지원되는 모듈입니다. 

 

코드를 실행할 경우에 자신이 원하는 사이트로 접속해서 로그인 스스로 하고

여러가지 것들을 자동으로 해 줄 수 있는 자동기능이 있습니다.

 

잘 사용하셨으면 좋겠습니다. 

사용분야는 많습니다. 

메크로의 분야에서 쓰이면 좋습니다. 

 

주의. chromedriver 나 opera, firefox 등의 인터넷 브라우저를 열수있는 파일입니다. 

꼭 설치를 하셔야 합니다.

 

만약에 exception 발생시 뒤에 Chrome version XX
나온다면 크롬->설정-> 크롬정보에서 버전 확인해서 다운로드 하시면 됩니다. 
크롬드라이브는 구글에서 크롬드라이브 검색하면 잘 나옵니다.

 

from selenium import webdriver
driver = webdriver.Chrome('chromedriver') # chrome
url = 'https://www.naver.com'
driver.get(url) # open url 
# naver login click
driver.find_element_by_class_name('link_login').click()
driver.find_element_by_class_name('int').send_keys('myname')
driver.find_element_by_name('pw').send_keys('9512')
driver.find_element_by_class_name('btn_global').click()

위에서 조금씩 설명해드리겠습니다. 

webdriver 를 가져오겠다 입니다. 

driver 라는 변수에 Chrome을 집어넣었습니다. 

이 라인이 실행이 되시면은 Chrome 브라우저를 실행을 합니다. 

url 이라는 변수에 네이버 url을 집어 넣었습니다. 

 

driver.get(url) 을 통해서 브라우저는 네이버 사이트로 이동을 하겠됩니다. 

 

이제는 정말 흥미로운 라인입니다. 

driver.find_element_by_class_name('link_login').click() 은 

앞에서 부터 driver 라는 변수의 옵션을 사용하겠는데

찾아라 요소,속성을 클래스이름은 link_login 이라는것을

한국어로 잘 번역하면은 

드라이버로 link_login이라는 클래스이름을 가진 속성을 찾아서, 클릭해라

였습니다. 

 

그 밑에 줄을 설명 하겠습니다. 

driver.find_element_by_class_name('int').send_keys('myname')

드라이버로 int라는 클래스이름을 가진 속성을 찾아서, watch라고 써라

 

그 밑에 줄을 설명 하겠습니다. 

driver.find_element_by_name('pw').send_keys('9512')

드라이버로 pw라는 이름을 가진 속성을 찾아서, 9512라고 써라

 

그 밑에 줄을 설명 하겠습니다. 

driver.find_element_by_class_name('btn_global').click()

드라이버로 pbtn_global라는 클래스이름을 가진 속성을 찾아서, 클릭해라

 

이렇게 마무리 되는것입니다. 

그대로 복사를 하셔서 이용을 하신다면은 

작동은 되시지만 로그인은 안되신다는것입니다. 

 

이런식으로 잘 짜시면은 조금더 복잡하고 어렵고 난해한 기능을

자신이 직접 로그인하고 복잡한 일을 안하고 난해한 일을 안하겠죠

 

셀레니엄을 이용한 장점 :

한번 만들어두면 유용하게 사용이 가능하다 

한번 클릭으로 자신은 잠시 쉴 수 있습니다. 

 

셀레니엄을 이용한 단점:

메크로나 자동화를 만드는 과정이 아주 쉽지만은 않다.

이미 많은 자동화를 통해서 웹에서 이용할 경우에 대기업이나 중기업정도에

자동으로 글을 쓰거나 자동으로 무언가 해야 하는 일을 가려낸다.

 

반응형

+ Recent posts