반응형

 

 

Xeo786/Rufaydium-Webdriver / Github 

https://github.com/Xeo786/Rufaydium-Webdriver

 

루페디움 깃허브에 들어가서

code -> download ZIP 를 눌러 알집으로 다운로드 합시다

 

알집을 풀면 Lib 폴더를 제외하고 위 이미지처럼 파일이 여러개가 나올텐데요

lib폴더를 만들어서 넣어줍시다. 

파일 관리 및 시각적으로 보기 좋게 하기 위함 입니다.

 

 


 

오토핫키 루페디움으로 네이버 로그인을 해보자


우선, 

 

오토핫키 GUI 제작 툴인 스마트구이(SmartGUI)를 통해 간단한 인터페이스를 그려줍니다.

스마트구이 다운로드는 여기 를 클릭하면 다운로드 하실 수 있습니다.

 

 

다른 이름으로 저장을 하신다음에  LIB 폴더가 있는 폴더에 저장해줍시다.

 

대망의 소스를 한번 짜봅시다,

Rufaydium 를 만든 사람의 깃허브를 들어가면 아래와 같이 사용설명서가 나와있습니다.

( 주석은 다 제거했습니다 )

#Include Rufaydium.ahk
Chrome := new Rufaydium("chromedriver.exe")

f1::
Page := Chrome.NewSession()
Page.Navigate("https://www.autohotkey.com/")
return

f12::
Chrome.QuitAllSessions() ; close all session 
Chrome.Driver.Exit() ; then exits driver
return

 

하나씩 살펴보기

#Include Rufaydium.ahk
Chrome := new Rufaydium("chromedriver.exe")

 

Include 를 이용해서 Rufaydium을 불러옵니다. 

저희는 Lib 폴더에 담아놨으니, 위 예시 말고

#Include Lib\Rufaydium.ahk

라고 사용해주시면됩니다.

 

f1::
Page := Chrome.NewSession()
Page.Navigate("https://www.autohotkey.com/")
return

 

f1:: ;핫키를 눌르면
Page := Chrome.NewSession() ; Page 변수를 선언하고 변수에 Chrome (브라우저)의 새로운 세션을 만들어라.
Page.Navigate("https://www.autohotkey.com/") ; Page라는 변수에 Chrome.NewSession()의 반환값을 할당하고 

Page변수에 할당된 브라우저 세션을 사용하여 특정 브라우저로 이동하라


return

정도의 해석이 될듯합니다.

 

f12::
Chrome.QuitAllSessions() ; close all session 
Chrome.Driver.Exit() ; then exits driver
return

 

Chrome에 할당된 세션을 종료하고

Chrome에 적용된 드라이버를 종료하라. 입니다. 

 

 


 

다음은 개발자모드를 통해 사이트 코드분석을 하도록하겠습니다 

반응형
반응형

 

오토핫키를 통해 스크립트를 작성하면서

파일을 생성하고 , 읽고, 쓰고, 삭제 등 다양한 작업을 수행할 수 있습니다.

몇 가지 주요한 파일 관련 명령어 및 함수는 다음과 같습니다.

 

FileCreateDir: 디렉터리를 생성합니다.

#SingleInstance,force
FileCreateDir,%A_WorkingDir%\data			;폴더를 만든다

 

* A_WorkingDir 이 변수는 현재 스크립트 파일이 실행되는 디렉터리의 경로를 저장합니다

 

 

FileAppend: 파일에 텍스트를 추가합니다. ( 만듭니다 )

#SingleInstance,force
data:= "안녕하세요`n반갑습니다"
FileCreateDir,%A_WorkingDir%\data			;폴더를 만든다
FileDelete,%A_WorkingDir%\data\set.txt		;data경로의 set.txt를 삭제한다.
FileAppend,% data,%A_WorkingDir%\data\set.txt	;data 경로의 set.txt를 만든다.

 

 

FileRead: 파일을 읽어들입니다.

#SingleInstance,force
FileRead,read_num,%A_WorkingDir%\data\set.txt	
msgbox,% read_num

 

%A_WorkingDir%\data\set.txt 의 경로의 파일의 내용을 "read_num" 변수에 담고, 

메세지를 출력한다 입니다.

 

FileReadLine: 파일에서 한 줄을 읽어들입니다.

#SingleInstance,force
경로 := A_WorkingDir "\test.txt"
FileReadLine,var,%경로%, 1
MsgBox %var%

 

FileReadLine,var,%경로%, 1 

마지막 오는 1, 첫번째 라인을 읽는다 입니다.

 

FileDelete: 파일을 삭제합니다.

#SingleInstance,force
FileDelete,%A_WorkingDir%\data\set.txt

 

 

 

FileExist: 파일이나 디렉터리의 존재 여부를 확인합니다.

#SingleInstance,force
file_path := A_WorkingDir "\robots.txt"
if (FileExist(file_path))
    MsgBox, 파일이 존재합니다.
else
    MsgBox, 파일이 존재하지 않습니다.

 

 

 

FileMove: 파일을 이동하거나 이름을 변경합니다. 

#SingleInstance,force
이동전 := "C:\example.txt"
이동후 := "D:\new_location\example_new.txt"
FileMove, %이동전%, %이동후%

 

가독성을 위해, 변수를 사용하는 것이 좋습니다

 

 

FileSelectFile: 파일 선택 대화 상자를 표시합니다

FileSelectFile, SelectedFile, 3, , Open a file, Text Documents (*.txt; *.doc)
if SelectedFile =
    MsgBox, 사용자가 아무 것도 선택하지 않았습니다.
else
    MsgBox, 사용자가 다음 파일을 선택했습니다:`n%SelectedFile%

 

FileSelectFile, 변수, 3, ,타이틀, 선택하는 텍스트란 표기 (*.txt; *.doc) ; txt / doc 확장자명 선택


숫자 3은 FileSelectFile 함수의 세 번째 매개변수를 나타냅니다. 이 매개변수는 다이얼로그 창에 표시될 초기 파일 경로입니다. 즉, 사용자가 파일 선택 대화 상자를 열었을 때, 초기에 표시되는 파일 경로를 나타냅니다. 만약 사용자가 아무런 파일을 선택하지 않고 창을 닫으면 SelectedFile 변수에는 빈 문자열이 할당됩니다.

 

FileSelectFolder: 폴더 선택 대화 상자를 표시합니다.

FileSelectFolder, OutputVar, , 3
if OutputVar =
    MsgBox, 폴더를 선택하지 않았습니다.
else
    MsgBox, "%OutputVar%" 폴더를 선택했습니다.

 

 

FileGetSize: 파일의 크기를 얻습니다.

SetBatchLines, -1  ; 연산을 최대 속도로 설정합니다.
FolderSize = 0
FileSelectFolder, WhichFolder  ; 사용자에게 폴더를 고르도록 요청합니다.
Loop, %WhichFolder%\*.*, , 1
    FolderSize += %A_LoopFileSize%
MsgBox,64,안내,%WhichFolder% 폴더의 사이즈는 %FolderSize% bytes 입니다.
FileGetSize, OutputVar,%A_WorkingDir%\test.txt, K  ; 크기를 Kbytes 단위로 열람합니다.

 

 

FileRecycle: 파일을 휴지통으로 보냅니다.

FileRecycle,% A_WorkingDir "\test.txt"

 

 

FileDelete : 파일을 영구적으로 삭제합니다

FileDelete,% A_WorkingDir "\test.txt"

 

 

FileOpen: 파일을 엽니다

FileOpen,% A_WorkingDir "\test.txt"

 

or cmd

run,% A_WorkingDir "\test.txt"

 

 

 

반응형
반응형

 

 

날짜 및 시간관련 변수들은 아래와 같습니다.

 

A_YYYY 현재 4자리 연도(예: 2004) 를 표현합니다.
A_MM 현재 2자리 월(01-12) 를 표현합니다.
A_MMMM 현재 사용자 언어로 된 현재 월의 전체 이름으로 표기 (July)
A_DDDD 현재 사용자 언어로 된 현재 요일 전체 이름(Sunday)
A_DDD 현재 사용자 언어의 현재 요일 약어(Sun)
A_DD 현재 2자리수 월일(01-31) 를 표현합니다
A_WDay 현재 1자리수 요일(1~7) 을 표현합니
A_YDay 현재 일년 중 현재(1-366). 값이 제로 패딩되지 않습니다. 예를 들어 009가 아닌 9가 검색됩니다. 제로 패딩된 값을 검색하려면 FormatTime, OutputVar, YDay0를 사용하세
A_YWeek ISO 8601에 따른 현재 연도 및 주 번호(예: 200453)입니다. 연도를 주와 구분하려면 Year := SubStr(A_YWeek, 1, 4) 및 Week := SubStr(A_YWeek, -1)을 사용합니다.
A_Hour 24시간 시간(예: 17은 오후 5시)의 현재 두 자리 수 시간(00-23)을 표현합니다
A_Min 현재 2자리 분(00~59)를 표현합니다
A_Sec 현재 2자리 (00~59)를 표현합니다
A_MSec 현재 3자리 밀리초(000-999)를 표현합니다
선행 0을 제거하려면 다음 예를 따릅니다. Millisecond : = A_MSEC + 0
A_Now YYYYMMDDHH24MISS 형식의 현재 현지 시간입니다.

 

 

예시자료

#SingleInstance,Force
msgbox,% A_YYYY "-" A_MM "-" A_Sec " [ " A_Hour ":" A_min ":" A_Sec " ] "
msgbox,% A_now
return

예시자료.ahk
0.00MB

 

날짜 더하기 [ Envadd ]

#SingleInstance,Force
FormatTime,now_time,,yyyyMMdd
A_data:= CurrentDateTime
EnvAdd,A_data,+5,Days
FormatTime,now_time,% A_data,yyyy-MM-dd
msgbox,% now_time

날짜더하기.ahk
0.00MB

 

날짜 빼기

#SingleInstance,Force
FormatTime,now_time,,yyyyMMdd
A_data:= CurrentDateTime
EnvAdd,A_data,-5,Days
FormatTime,now_time,% A_data,yyyy-MM-dd
msgbox,% now_time

 

 

날짜빼기.ahk
0.00MB

 

 

타임스탬프 출력

#SingleInstance,Force
now_data := A_Now
data := 19700101000000
EnvSub, now_data, %data%, Seconds
msgbox,% now_data

타임스탬프.ahk
0.00MB

 

 

날짜 확인 [ 인증용으로 넣을 수 있습니다 ]

/ winhttp 사용 안할 시

#SingleInstance,Force
now := A_YYYY . A_MM . A_DD

if now > 20240502
    MsgBox, % "2024년05월02일이 지났습니다."
else if now = 20240502
    MsgBox, % "2024년05월02일 입니다"
else
    MsgBox, % "지나지 않았습니다"

날짜 확인.ahk
0.00MB

 

 

이상 간단하게 날짜 계산 및 사용하는 법을 알아보았습니다

더욱 궁금한 점이나 요청사항이 있다면 말씀주세요

 

 

반응형
반응형

"테넷"은 크리스토퍼 놀란 감독의 작품으로,

시간을 역전시키는 기술을 이용한 스파이 액션 영화입니다. 

 

 

 

주인공은 단 한 번만 과거로 돌아갈 수 있는 특별한 능력을 가진 스파이로서, 세계적인 위기에 맞서게 됩니다.

그 위기는 미래의 공격을 막기 위해 시간의 흐름을 조작하는 기술을 사용하는데,

이 기술은 과거의 사건에 영향을 미칩니다.

 

 

주인공은 그 능력을 이용하여 세상을 구하기 위해 미션을 수행하고, 그 과정에서 다양한 위험과 미스터리에 직면하게 됩니다. 그의 모험은 세계 각지에서 전개되며, 시간을 역전시키는 특별한 액션 장면과 복잡한 플롯이 관객을 매료시킵니다.

 

 

영화는 과거와 미래가 교차하는 시간의 흐름을 다루며, 시간의 개념을 새롭게 해석하고 다층적인 이야기를 펼칩니다. 그 결과, 관객은 시간의 흐름에 대한 새로운 관점을 얻게 되면서 예측 불가능한 스토리에 푹 빠져들게 됩니다. "텐엣"은 액션과 스릴러, 과학적 요소를 유기적으로 결합한 작품으로, 감독의 특유의 시각적 스타일과 철학적인 내용이 결합되어 있습니다.

 

 

 


 

리뷰


 

#1

주인공이 특수요원이고 적에게 잡힐시 기밀누설 금지목적으로 자결알약을 먹고 죽음. 죽은 요원은 저승에서 특별한 사유로 살아돌아오고, 사건해결을 위해 노력하지만. 범인은 시간을 되돌릴 수 있는 능력이 있어 속수무책으로 당하기만하고. 결국 반복되는 실패도중 데자뷰를 느낀 주인공은 특수 중력장이 흐르는 방을 만든 연구원들의 실험에 참여해 중력방에서 엄청난 수행을 하게되고. 결과 시간되돌리는 악당의 기술을 무력화시킨. 이건 내용도 복잡하지만 액션과 영상미도 화려하기에 극장에서 보는걸 추천합니다.

 

#2

아니..댓글 잘못 들어온 줄 ;; 테넷 같은 영화를 집에서 보면 안되는뎅ㅠ 영화관 가야하는데 ㅠㅠㅠ

 

#3

김호중 웃음소리도 노래못지않게 시원한 비타민같아요~~호중님에게 큰웃음주신 다니엘 헤니의 멋진모습도 고맙네요! 배태랑 화이팅!!!

 

 

 

 

#네이버 TV 최종 예고편에 나온 이미지를 사용하였습니다.

https://tv.naver.com/v/15362687

반응형

+ Recent posts