공부/파이썬 2021. 3. 25. 01:18

파이썬 selenium공부

반응형

온라인게임을 자주 하면서 클릭 한번으로 로그인부터 실행까지

시켜주는 자동화? 프로그램이 하나 있으면 좋겟다고 생각해서

간단하게 한개 만들어 봤다

코드는 이게 전부다.

먼저 크롤링 할때 사용하는 라이브러리를 받아준다

pip install selenium

사용하는 터미널(윈도우는 파워쉘 or cmd)에 명령어를 적어주고 라이브러리를 설치한다

그러고 자주 사용하는 ide를 실행시켜 파일을 하나 만들어준다

from selenium import webdriver

선언을 해준후

iedriver 링크 :https://www.selenium.dev/downloads/

chromeDriver 링크 :https://chromedriver.chromium.org/downloads

사용할 웹 드라이버를 다운후 파일이 있는 폴더에 넣어준다.

ie웹드라이버를 선택해준 모습

여기선 ie드라이버를 사용한다

driver = webdriver.Ie('E:\python\IEDriverServer.exe')

경로는 각자 환경에 맞게 설정해준다

그런뒤 각자 사용 환경에 맞게 웹 화면 크기를 정해준다

driver.set_window_size(1280, 720)

첫화면으로 시작할 사이트주소를 지정해준다

여기선 요즘하는 게임인 트리 오브 세이비어 페이지를 지정해줬다.

driver.get('http://tos.nexon.com/')

지정을 해준후 원하는 html요소를 찾는다

요소를 찾을 사이트에 들어간후 f12를 눌러 개발자 도구를 실행시켜

이버튼을 누른후 찾아야할 요소를 찾는다

이 소스에선 로그인을 해야하기 때문에 로그인 요소를 찾아준다

클릭을 하면

이런식으로 해당하는 태그를 찾아준다

여기서 찾아야 할건 해당하는 태그의 클래스명이다

btn large_btn login_btn Clr1등이 있지만 우리가 사용해야할건 login_btn이다

클래스 명을 따라가는 코드를 작성해준다

nx_login = driver.find_element_by_class_name("login_btn")

클래스명을 찾았으니까 클릭을 해주는 명령을 내려야 한다

nx_login.click()

이제 아이디, 비밀번호를 입력해야하는 페이지로 넘어간다.

여기서 이제 또 찾아야 할건 id를 입력하는 태그의 id와 비밀번호를 입력하는 태그의 id다.

위에 로그인 버튼 태그를 찾은것처럼

이 버튼을 눌러주고

아이디 입력칸, 패스워드 입력칸, 로그인버튼을 클릭

각각의 태그id를 찾아서 코드에 작성해준다

nx_id = driver.find_element_by_id('txtNexonID')
nx_pw = driver.find_element_by_id('txtPWD')
nx_submit = driver.find_element_by_id('btnLogin')

이제 아이디와 비밀번호를 입력해주자

while driver.get:
    nx_id.clear()
    nx_id.send_keys("")

    nx_pw.clear()
    nx_pw.send_keys("")

    nx_submit.click()
    break

비어있는 send_keys에 본인의 아이디, 비밀번호를 입력해주면 된다

로그인이 끝났으니 게임을 실행시켜줘야한다

똑같이 해당하는 태그를 찾아준다

여기서 사용해야할건 id="tmGameStart" 부분이다

gamestart = driver.find_element_by_id('tmGameStart')
gamestart.click()
driver.close()
driver.quit()

이로써 로그인과 게임실행까지 자동으로 해주는 스크립트를 완성한것이다.

매번 ide를 실행시켜 파이썬 스크립트를 실행하는것은 번거롭기 때문에 exe파일로 빌드를 해준다

먼저 파이썬 코드를 exe로 빌드시켜주는 pyinstaller라이브러리를 설치한다

pip install pyinstaller

설치를 한후

터미널 창에

pyinstaller -F -n 실행파일.exe 파이썬코드.py --noconsole

을 적어주고 엔터

필요에 따라 아이콘파일을 가져와 아이콘을 입혀줄수도 있다.

라즈베리파이 2021. 3. 22. 01:01

라즈베리파이4 파워쉘 설치

반응형

마이크로 소프트 공식 문서를 보면 stretch버전이랑 pi 2, pi 3에서만 작동 한다고 적혀있지만

라즈베리파이4에서도 실행이 가능하다

 

공식 문서에 나온대로 

 

sudo apt-get install '^libssl1.0.[0-9]$' libunwind8 -y

필수 모듈 설치해주고

 

wget https://github.com/PowerShell/PowerShell/releases/download/v7.1.3/powershell-7.1.3-linux-arm32.tar.gz

터미널에 입력

 

powershell 폴더 생성

 

mkdir ~/powershell

 

압축 해제

 

tar -xvf ./powershell-7.1.3-linux-arm32.tar.gz -C ~/powershell

 

실행

~/powershell/pwsh

끝 실행이 잘되는걸 볼 수 있다

'라즈베리파이' 카테고리의 다른 글

젤리핀 reverse proxy  (0) 2022.06.08
트랜스 미션 reversproxy  (0) 2022.06.08
라즈베리파이4 트랜스미션 세팅  (0) 2019.08.01
라즈베리파이 2019. 8. 1. 00:41

라즈베리파이4 트랜스미션 세팅

반응형

sudo apt install transmission-daemon

설치를 해주셨으면 실행중인 서비스를 멈춰줍니다.

sudo service transmission-daemon stop

 

멈춰 주셨으면 설정파일 수정 합니다.

 

sudo vi /etc/transmission-daemon/settings.json

 

각자 세팅에 맞게 작성하셨으면 저장하고 나와줍니다.

그러고 다시 서비스 실행

 

sudo service transmission-daemon start

 

잘 적용됐으면 다시 서비스 중지 해줍니다.

 

sudo service transmission-daemon stop

중지 되셨으면 루트계정으로 들어갑니다

 

su root

루트 계정으로 접근하셨으면 설정파일을 하나 더 수정하셔야 합니다.

트랜스미션 로그인 계정의 홈 디렉터리로 가보면 .config라고 폴더가 있습니다.

.config폴더에 있는 transmission-daemon/settings.json 파일을 수정 해야합니다.

vi settings.json

위에서 수정하신거랑 똑같이 수정해주시고 저장

 

이제 트랜스미션 권한을 수정 해주셔야 합니다.

 

sudo vi /etc/init.d/transmission-daemon

 

user부분을 자신이 만든 계정으로 지정해주시면 됩니다.

 

이제 chown 으로 폴더의 사용권한을 변경해주시면 됩니다

sudo chown -R str:str /etc/transmission-daemon

sudo chown -R str:str /etc/init.d/transmission-daemon

sudo chown -R str:str /var/lib/transmission-daemon

 

다른 디렉터리에 있는 transmission 설정파일도 수정해줍니다.

 

sudo vi /etc/systemd/system/multi-user.target.wants/transmission-daemon.service

 

user 항목을 자신이 설정한 계정으로 수정해주시고 저장.

 

이제 서비스를 다시 시작해주시면 설정이 끝납니다.

 

sudo serivce transmission-daemon start

'라즈베리파이' 카테고리의 다른 글

젤리핀 reverse proxy  (0) 2022.06.08
트랜스 미션 reversproxy  (0) 2022.06.08
라즈베리파이4 파워쉘 설치  (0) 2021.03.22