[Python macro lecture] 3. Macro start shortcut creation

Поделиться
HTML-код
  • Опубликовано: 11 ноя 2024

Комментарии • 86

  • @apple1223
    @apple1223 3 года назад +1

    넘 좋아요!!

  • @ohmyddorr
    @ohmyddorr 3 года назад +1

    뭐죠.. 정말 꼼꼼하게 알려주셔서 파이썬 공부 포기할 이유를 못찾겠어요 ㅎ

  • @리사리사진라면
    @리사리사진라면 2 года назад +1

    정말 감사해요 다 만들고 안드로이드나 ios 환경에서 실행 파일로 실행해서 다른 앱에 매크로를 돌리려면 어떻게 해야 하나요?

    • @chobocoding
      @chobocoding  2 года назад

      윈도우에서만 사용가능합니다 블루스택같은 컴퓨터로 앱 접근 방식을 선택하면 될 듯 합니다

    • @리사리사진라면
      @리사리사진라면 2 года назад

      @@chobocoding 좋은 강의 감사합니다!

    • @리사리사진라면
      @리사리사진라면 2 года назад

      @@chobocoding 혹시 pyautogui를 사용할 때 반복문 안에 반복문이 들어가면 에러가 뜨던데 페이지에서 페이지로 넘어가서 또 반복문으로 매크로를 돌려야 되는 상황에 에러가 뜨지 않으려면 어떻게 해야 하나요?

  • @julsenara
    @julsenara 7 месяцев назад

    크롬에선 F3 단축키가 ctri+F 와 동일한 찾기 기능이라서 이걸 따라하기가 상당히 까다롭네요
    크롬에서 단축키부터 지우고 작업을 해야 해서

  • @user-km7hw5uq4u
    @user-km7hw5uq4u 6 месяцев назад

    No module name 'keyboard'라고 뜨네요ㅠㅠ

  • @jinsolchoi6949
    @jinsolchoi6949 7 месяцев назад

    강의 잘 들었습니다! 혹시,,처음부터 끝까지 코드 알 수 있을가요? f3, f4로 list를 만드는거까지 이해가되는데 어떻게 첫번째 while문을 나올수있는건가요?

  • @기명민-n9v
    @기명민-n9v 3 года назад +1

    잘 보고 있습니다 선생님

  • @잉구-h6p
    @잉구-h6p 4 года назад +1

    보는중에 댓글 남깁니다. 강의 좋네요 구독 좋아요 하고 마저볼게요

  • @KUOTA-rg4rf
    @KUOTA-rg4rf 4 года назад +6

    초보코딩님. 질문 하나 더 드릴께요. 제가 import keyboard 명령어를 치니, ModuleNotFoundError: No module named 'keyboard' 라는 메세지가 뜹니다. keyboard라는 모듈이 없다는 의미인듯 한데, 혹시 이런 에러도 있는지요(이것 때문에 프로그램을 지웠다가 다시 깔았습니다)

    • @chobocoding
      @chobocoding  4 года назад +5

      아 그것은 keyboard 모듈을 설치가 안 되어서 그런것인데요. 제가 그 부분을 녹화할때 빼먹어서 혼동을 드렸네요.
      pip install keyboard
      라고 코드를 입력하고 실행하시면 모듈이 설치됩니다!

    • @KUOTA-rg4rf
      @KUOTA-rg4rf 4 года назад +2

      ​@@chobocoding 감사합니다!! 모듈 됩니다

    • @히히0
      @히히0 Год назад

      감삼다

  • @거북-s2m
    @거북-s2m 4 года назад +1

    영상보며 꾸준히 공부하고있습니다 다음강의도 기대할게요!

    • @chobocoding
      @chobocoding  4 года назад

      많이 부족한데 감사합니다 ^^

    • @거북-s2m
      @거북-s2m 4 года назад +1

      강의영상 업로드 일정은 혹시 정해져있는건가요?? 영상보면서 따라하는데 점점 실력이 향상되는듯해서 신기하네요 :)

    • @chobocoding
      @chobocoding  4 года назад

      미뉴 긍정적인 피드백 감사드립니다 ^^ 일주일에 한편 이상(주로 평일)올려보려고 하고 있습니다.

  • @감암메귀
    @감암메귀 3 года назад +1

    진짜 대단하십니다

  • @정브로
    @정브로 4 года назад +1

    설명을 잘해주셔서 다음 강의도 기대됩니다!

    • @chobocoding
      @chobocoding  4 года назад

      감사합니다 :) 덜 버벅일 수 있도록 노력하겠습니다 ㅎㅎ

  • @MoneyHubTips
    @MoneyHubTips 4 года назад +1

    이런 매크로는 창이 무조건 보여있어야되는거죠? 창 위치도 고정되 있어야 하나요? 비활성화도 가능하나요?

    • @chobocoding
      @chobocoding  4 года назад

      창이 활성화되어 있고 위치가 고정되어 있어야 합니다. 비활성화 상태에서 매크로를 적용하려면 셀레니움을 사용하셔야 합니다(웹 한정)

  • @welldone9999
    @welldone9999 4 года назад +1

    강의 잘들었습니나 감사합니다

  • @dacty-s9l
    @dacty-s9l 4 года назад +1

    제가 키보드를 통통 튕기면서 누르지 못해서 그런지 엄청나게 좌표값들이 많이 쌓이네요... ㅎㅎ ㅠㅠ
    길게 눌러도 딱 한 개의 좌표만 얻으려면 아래처럼 3중첩을 시키는 방법이 있겠네요
    그런데 코드가 너무 지저분.. 혹시 창의적인 방법이 있을지요? ㅎㅎ ㅠㅠ
    >>> (수정 됨) 초보코딩님 다른 영상에 팁이 나와 있네요
    time.sleep 기능을 통해서 0.5초 정도 while문을 멈춰두는 방법이 있겠습니다!
    제가 썼었던 3중첩 while문 코드는 아래와 같습니다 (누르는 시간 관계 없이 1번 누르면 1번 값을 append)
    check = True
    list_pos = []
    while check == True:
    while True:
    if keyboard.is_pressed('F3'):
    print('Position extracting ... ')
    pos = pag.position()
    list_pos.append(pos)
    while keyboard.is_pressed('F3'):
    pass
    break
    if keyboard.is_pressed('F4'):
    print('QUIT')
    check = False
    break

  • @위트가이K
    @위트가이K 2 года назад +2

    강의 내용 잘 봤어요 ㅎㅎ 나중에 기회되시면 공공데이터 활용한 파이썬 강의도 만들어 주시면 감사하겠습니다!!

  • @minhyeya92
    @minhyeya92 3 года назад +1

    영상 너무 감사합니다 ㅠㅠ 혹시 맥 os 에서는 알려주신대로 특정 키로 while 문을 빠져나오게 하는, 즉 그 뒷 코드들을 실행시키는 단축키가 되는 코드가 실행되지 않는 것 같은데 왜인지 아실까요 ㅠㅠ? 키를 눌러도 따로 오류메세지는 뜨지 않고 그냥 계속 코드가 실행중인걸로 나오는것 같은데, 혹시 맥북에서는 코드 실행중에 키가 인식되지 않는다거나 하나요...?

    • @chobocoding
      @chobocoding  3 года назад

      pypi.org/project/keyboard/

    • @chobocoding
      @chobocoding  3 года назад

      맥os에서는 안 될수도 있을 것 같네요. 윈도우나 리눅스에서 사용할 수 있다고는 적혀있습니다. 맥에서 키를 트리거하는 방법은 구글에서 좀 찾아봐야할 것 같습니다.

    • @minhyeya92
      @minhyeya92 3 года назад

      @@chobocoding 핫 키보드 모듈이 맥에서 적용되지 않는 것이군요 ㅠㅠ 설명 감사합니다!! 덕분에 이해되었네요! 맥북에서 트리거하는 방법 저도 찾아보아야겠어요 ㅠㅠ!!

  • @GJH-FISHING
    @GJH-FISHING 4 года назад +1

    와일문 매크로 동작하는 도중 키보드로 종료시키려면 꼭 while문 2중으로 써야하나요??

    • @chobocoding
      @chobocoding  4 года назад

      저는 이중으로 썼습니다만, 여러가지 방법이 있을 수도 있겠죠~

  • @odysseylol1243
    @odysseylol1243 3 года назад +2

    좋은영상 일단 감사합니다!!
    그런데
    영상 보고 따라해보고있는데요
    예전영상이라 파이썬3.8 를 다운받고 하고있는데
    keyboard가 import로 안떙겨지는데 뭐가 문제인지 잘 모르겠네요
    ModuleNotFoundError Traceback (most recent call last)
    in
    1 import pyautogui as pag
    ----> 2 import keyboard
    ModuleNotFoundError: No module named 'keyboard'
    영상앞으로 더 넘어가구싶네요 ㅠㅠ

    • @chobocoding
      @chobocoding  3 года назад +2

      pip install keyboard
      를 실행하시면 설치될 겁니다. 이후로 import 가능합니다.

    • @odysseylol1243
      @odysseylol1243 3 года назад

      @@chobocoding 빠른 답변 감사합니다 ㅎㅎ

  • @전하은-v6w
    @전하은-v6w 3 года назад +2

    매크로가 돌고 있는 도중에 매크로 강제 중지 하는 법은 어떻게 되나요?
    제가 pag.click(좌표) 를 여러개 만들어넣고 마지막에 if keyboard.is_pressed(키): 를 넣었는데
    키를 눌러도 매크로 중지가 안되더라구요

    • @chobocoding
      @chobocoding  3 года назад

      키를 꾹 누르고 있으면 됩니다. 한번 툭 누르면 안 되구요~

    • @전하은-v6w
      @전하은-v6w 3 года назад

      @@chobocoding
      while True:
      if keyboard.is_pressed('F2'): < F2버튼을 통해 시작
      break
      while True:
      pag.click(2386, 136)
      time.sleep(1)
      pag.press('enter', presses=2, interval=1)
      pag.click(1733, 121)
      time.sleep(1)
      pag.click(1423, 71)
      time.sleep(1)
      if keyboard.is_pressed('F3'):

    • @chobocoding
      @chobocoding  3 года назад

      10초 정도 누르고 있어도 안 되나요?

    • @전하은-v6w
      @전하은-v6w 3 года назад

      @@chobocoding 네.. 안되네요 ㅠ.ㅠ 그렇다면 매크로 강제 종료는 10초동안 키를 누르는 방법 외에는 코딩으로 해결할수 없는건가요?

    • @chobocoding
      @chobocoding  3 года назад

      코드에 time.sleep 이 있어서 f3누르는 경우 코드가 즉각 종료되긴 어렵구요. F3 감지해서 탈출하는 코드를 time.sleep함수 전후로 계속 써줘야 그나마 짧은 시간 내에 코드가 종료될 수 있을 것 같아요.

  • @AsanLeeseungwon
    @AsanLeeseungwon 8 месяцев назад

    브레이크 적고나서부터 주피터가 옆에 아스터리스크로 다변하고 값은 안주는데 렉인건가요?

  • @ki-joonkim825
    @ki-joonkim825 4 года назад +2

    안녕하세요.
    영상 강의 잘 보고 있습니다.
    다름이 아니고 제가 파이참으로 강의를 따라하고있는데요
    3:00 런 버튼을 활성화 하면
    true 혹은 false에 대한 결과값이 안나오는데 어떻해야하나요 ㅜ?

    • @chobocoding
      @chobocoding  4 года назад

      궁금한 변수를 print해보시면 됩니다~

    • @ki-joonkim825
      @ki-joonkim825 4 года назад

      @@chobocoding 강의를 따라하다가 마지막 부분에서 막혀서 글남겨요 ㅜ....
      코딩을 다 쓰긴했는데 처음에 좌표 저장하는 부분이 잘 안되서요..
      리스트를 만들어서 결과값을 리스트에 저장하는 곳까지 진도는 나갔는데
      그 값을 저장해서 사용하는 부분이 잘 안되네요...
      제가 뭘 잘못하고 있는지 모르겠네요....
      아래는 제가 쓴 코드입니다.
      import pyautogui as pag
      import keyboard
      import time
      pos_list = []
      while True:
      while True:
      if keyboard.is_pressed('F3'):
      pos = pag.position()
      pos_list.append(pos)
      print(pos)
      break
      while True:
      if keyboard.is_pressed('F4'):
      break
      while True:
      if keyboard.is_pressed('F3'):
      break
      pag.click(pos_list[0]) #메인 로그인버튼 클릭
      time.sleep(1)
      pag.click(pos_list[1]) # id 입력 클릭
      my_id = ''
      my_pw = ''
      pag.typewrite(my_id, interval = 0.1)
      time.sleep(1)
      pag.pressed(pos_list[2]) # pw 입력 클릭
      pag.typewrite(my_pw, interval = 0.1)
      time.sleep(1)
      pag.click(pos_list[3]) # 마지막 로그인 버튼 클릭

    • @chobocoding
      @chobocoding  4 года назад

      Ki-joon Kim 혹시 위에 적힌 코드를 한꺼번에 실행하신건가요? 위치 뽑는 코드로 우선 각 부분의 위치를 뽑고 아래 부분 코드를 실행해야 합니다. 크게 두 코드로 나누어져 있는거죠.

    • @ki-joonkim825
      @ki-joonkim825 4 года назад

      @@chobocoding 파이참에선 두 영역을 어떻게 나눠야하는지 모르겠어서요..
      이전 강의에서는 그냥 좌표값을 뽑아서 좌표를 그냥 써주었는데..
      지금처럼 리스트를 활용하려니 어렵네요..

    • @chobocoding
      @chobocoding  4 года назад

      Ki-joon Kim 음 지금 코드를 하나로 쓰려면 좌표 지정하는 와일문에서 빠져나올수 있도록 지정해줘야할 것 같아요. 가령 세번 정도 좌표를 지정하고 빠져나오려면 while문 뒤에 True를 놓는게 아니고 len(pos_list) != 3을 놓게 되면 pos_list가 세개가 되면 다음 코드로 넘어갈 수 있을 것 같아요

  • @박민우-e6m
    @박민우-e6m 2 года назад +1

    강의 감사합니다. 몇 가지 질문 드립니다. 제가 좌표 찍는 걸 잘못 찍어서
    리스트 안에 있는 좌표들을 삭제하고 싶은데,
    그럴 때는 어떻게 해야 하나요..?

    • @chobocoding
      @chobocoding  2 года назад

      wikidocs.net/16040
      리스트 원소 삭제 하는 부분을 참고하세요~

  • @nmixx_coffee
    @nmixx_coffee 4 года назад +2

    나중에 볼 동영상 500번째에 당첨되셨어요!
    당첨 보상은 좋아요♥

    • @chobocoding
      @chobocoding  4 года назад

      감사합니다!!! 이 영광을 어머니 아버지께

    • @nmixx_coffee
      @nmixx_coffee 4 года назад

      @@chobocoding ㅋㅋㅋ

  • @ska6608
    @ska6608 3 года назад +1

    안녕하세요 코드는 정확히 입력했는데 File "c:\Users\ask\Desktop\python workspace\biginner\daum_login_macro.ipynb", line 7
    pos=pag.position()
    ^
    IndentationError: expected an indented block 이런 메세지가 뜹니다

    • @chobocoding
      @chobocoding  3 года назад

      들여쓰기가 올바르게 안 된 것 같습니다~

    • @ska6608
      @ska6608 3 года назад

      @@chobocoding 감사합니다

  • @BiquiRaccoon
    @BiquiRaccoon 4 года назад +1

    영상 감사합니다! while문을 영상에서 말씀해주신 것처럼 기초 수준에서 만들어 주셨는데, "F3"을 누르고 난 후 다시 "F3"을 바로 눌러도 pos_list에 append되는 방법은 어떤 것이 있을까요??
    다음 영상들에 위 방법의 심화 버전이 있는지 모르겠네요... 혹시 없다면 댓글을 달아주시거나, 다음 영상 제작 아이디어에 참고해주실 수 있으실까요? ^^

    • @chobocoding
      @chobocoding  4 года назад +1

      저렇게 코딩한 것은 사용자가 누르는 시간은 짧은데 그것을 컴퓨터는 오랜시간 누른다고 인식해서 그런 것입니다. 이것을 f3 f4 왔다갔다하지 않으려면 time모듈의 time.sleep함수를 써서
      if keyboard.is_pressed('f3'):
      위치 뽑는 코드
      time.sleep(1)
      break
      이런식으로 하면 뒤에 F4관련 while문은 없애도 될것 같네요!

    • @chobocoding
      @chobocoding  4 года назад +1

      위의 코드처럼 한다면 사실 break가 빠져도 될 것 같네요!!

    • @BiquiRaccoon
      @BiquiRaccoon 4 года назад +1

      @@chobocoding 아! 지난번에 다뤄두신 내용이 여기서도 다뤄지네요!! 알려주셔서 감사합니다^^

  • @omd3801
    @omd3801 4 года назад +1

    만약에 단순히 반복문안에 조건문을통해 해당 루프가 끝난 후 조건문을 만나 탈출하는 방법이 아닌
    특정 루프문에서 특정한 방법으로 중간에 바로 탈출하게 하려면 어떤식으로 구현하면 좋을까요?
    지금 스레드를 이용한 방법이 가장 머리속에 생각나긴하는데

    • @chobocoding
      @chobocoding  4 года назад

      저는 주로 break를 사용합니다. 그리고 2중 3중으로 되어있는 반복문이라면 SB라는 변수(이름은 달라도 상관없겠죠)를 반복문 들어가기 전에 SB=0으로 해놓고 반복문을 빠져나오고 싶을때 break를 걸기 바로 전에 SB=1을 선언해줍니다. 그리고 다른 반복문을 빠져나오기 위해 if SB==1: break를 빠져나오고 싶은 반복문 개수만큼 적어주면(들여쓰기를 잘 해야겠죠) 됩니다. 말씀하신 스레드는 제가 어떤건지 잘 모르겠네요 ㅠ

    • @omd3801
      @omd3801 4 года назад

      @@chobocoding 예시로 30분동안 돌아가는 루프가 실행되는도중 키입력을하면 외부 스레드함수를 호출하여 인위적으로 기존 함수를 중지시키려고하는데
      방법이 안떠오르네요.
      말씀주신 다중 반복문탈출은 이해하는데 이경우는 다른문제라
      예를들어 한시간짜리 영화를 보는데 미리 특정시점에서 종료가 아닌
      리모컨처럼 원하는시점에 누르면 꺼지는걸 구현하고 싶어요.
      리모컨을 a라는함수
      1시간영화를 b라는 함수로 가정했을때
      두함수를 스레드함수로 생성후 한쪽에는 특정키입력이되면 전역변수값을 바꿔주고
      다른 함수에는 루프의 중간중간 전역변수의 상태값을받아 break할지 continue할지 하는 조건문을 여러번 넣는방식으로 생각중인데 어떤가요?

    • @chobocoding
      @chobocoding  4 года назад +1

      김현중 무슨 말씀하시는지 이제 이해했습니다 ㅎㅎ 리모컨이라는 예시를 들으니 한번에 이해되네요. 저 같은 경우에는 텔레그램을 이용해서 텔레그램으로 컴퓨터의 상태를 조종할 수 있게 할수 있습니다. telepot모듈을 이용하면 되는데요, 길게 설명하는 것 보단 아래의 링크 영상을 한 번 보시면 더 아이디어를 구체화하는데 도움되시리라 생각됩니다.
      m.ruclips.net/video/PUsTCBv8dNY/видео.html

    • @omd3801
      @omd3801 4 года назад

      @@chobocoding 아리가또 고자이마스 원래 웹쪽 개발일 했었는데
      이번에 이것저것 다 만들어보려고하네요.

    • @chobocoding
      @chobocoding  4 года назад +1

      김현중 아 그러시군요 저는 개발자는 아니어서 ㅎㅎ 전문가 앞에서 부끄럽네요 하는일 잘 되시기를 바랍니다 ^^

  • @chanchan7822
    @chanchan7822 4 года назад +1

    좋은 영상 감사합니다! 질문 하나 드려도 될까요?
    작업창을 계속 옮겨가면서 기능하는 매크로를 만들고 있는데요 (ex. 크롬->그림판->파워포인트->크롬...)
    작업표시줄에 있는 아이콘을 click함수로 클릭하면 기존에 작업하던 창이 아니라 새로운 창이 열립니다.
    이것을 해결할 수 있을까요?
    감사합니다!

    • @chobocoding
      @chobocoding  4 года назад

      기존에 작업하던 창을 활성화하고 싶은데 잘 안 된다면, 클릭이 아니라 마우스 커서를 작업표시줄 아이콘 위에 올렸다가 시간이 약간 지났을때 살짝 위로 마우스 커서를 올려서 클릭하면 되지 않을까 싶어요. 아니면 alt tab 을 키보드로 입력해서 하면 확실하게 넘어갈수 있지 않을까 싶습니다.

    • @chobocoding
      @chobocoding  4 года назад

      pyautogui 명령어는 아래 블로그에 제가 올려놨으니 참고하시면 좋을 것 같습니다!
      m.blog.naver.com/jsk6824/221765884364

    • @chanchan7822
      @chanchan7822 4 года назад +1

      @@chobocoding 답변 감사합니다!!

  • @UCC36dBYIXbZbFu_Db9HPk0g
    @UCC36dBYIXbZbFu_Db9HPk0g 3 года назад +1

    저는 영상 초반 부분 import keyboard 라고 하니
    ModuleNotFoundError Traceback (most recent call last)
    in
    ----> 1 import keyboard
    ModuleNotFoundError: No module named 'keyboard'
    이렇게 뜨네요;

    • @chobocoding
      @chobocoding  3 года назад

      pip install keyboard
      를 실행하셔서 먼저 키보드 모듈을 설치해 보시기 바랍니다~

    • @UCC36dBYIXbZbFu_Db9HPk0g
      @UCC36dBYIXbZbFu_Db9HPk0g 3 года назад

      @@chobocoding 답변 감사합니다! 영상 정주행하고 있어요^_^

  • @lliillliilliilill
    @lliillliilliilill 3 года назад +1

    아이디가 자동으로 한영전환되서 로그인이 안돼요

    • @chobocoding
      @chobocoding  3 года назад

      한영키 누르는 코드는 아래와 같습니다.
      pag.hotkey('hanguel')

  • @anstnsla7332
    @anstnsla7332 3 года назад +1

    너무 잘설명해주셔서 감사합니다.
    16:00쯤에 pos_list를 실행하면, 저장된 값보는 부분에서
    아무리 실행을 해도 pos_list 저장된 out값이 나오질 않네요 ㅠㅠ

    • @chobocoding
      @chobocoding  3 года назад

      실행하신 코드가 어떻게 되죠??

    • @spookybac
      @spookybac 3 года назад

      RUN 버튼 멈추고 해보세요 저도 안나와서 계속 해보다가 멈추고 다시 하니까 되네요

  • @썬구리-w8t
    @썬구리-w8t 2 года назад +1

    안녕하세요 ㅎㅎ 영상 보면서 앞에까지 잘 따라하다가 이번 영상에서 문제가 발생하여 댓글로 문의 드립니다.
    4번째 명령문을 입력하고 F3 누르고 실행했을때 F3 is pressed라는 문장이 딱 한번 빠르게 나오고 사라집니다.
    그 다음엔 아무리 다시 누르고 새로 입력해도 F3 is pressed 문장이 나오지 않습니다.
    컴퓨터를 재시작해서 다시해도 마찬가지입니다.
    또 위 과정을 한뒤엔 유튜브 댓글다는 란에서도 타자가 입력되는 속도가 매우 느려지는데 ㅠㅠ
    어떻게 해결하면 될까요?ㅠㅠ
    컴퓨터의 문제인지...
    아님 제가 뭘 잘못한걸까요...

    • @chobocoding
      @chobocoding  2 года назад

      뭔가 while문이 종료되지 않고 계속 돌고 있어서 그런 것 같습니다. 코드가 같게 적혀있는지 먼저 확인해 보시고, 느려지는 현상이 발생하면 주피터노트북 위쪽에 네모 버튼(커널중지)을 눌러 중지시켜 보시기 바랍니다.