잘 동작하던 Appium 이 오류가 나타나며 더이상 진행 되지 않습니다.

Appium 에서 보면 Enqueue Failure: Failed to get system application: Timed out while fetching attributes 오류가 나타나는 것이 보입니다.

 

해당 오류 수정을 위해서는 몇가지 방법이 있지만 하나씩 순차적으로 확인이 필요합니다.

  • Step 1 Appium 업데이트 
    • npm install -g appium 

 

  • Step2 옵션값 변경 - 3개 모두 하실필요는 없으며 상황에 맞게 변경 하시면 됩니다.
    • useNewWDA : true
    • waitForQuiescence : false
    • daEventloopIdleDelay : 5

 

  • Step3 pip 업데이트
    • mac 기준
      • sudo pip3 install --upgrade pip3
    • windows 기준
      • pip install  --upgrade pip

 

  • Step4  bundleId 비활성화
    • 테스트할 어플 실행해 놓은 상태에서  "bundleId" 을 비활성해 해놓고 테스트 진행합니다.
  • Step5 Xcode 데이터 지우기
    • xcode 를 클리어 합니다.
      • 사용자/유저/Library/Developer/Xcode/Archives
      • 사용자/유저/Library/Developer/Xcode/DerivedData

 

 

미러링의 경우 상황에 따라 다양하게 사용할 수 있습니다.

참고로 삼성폰을 사용하는 경우 삼성 Flow를 사용하면 별다른 설정없이 바로 사용 가능합니다.

자세한 설정 방법은 삼성 Flow 페이지를 참고 하시면 쉽게 작업 가능합니다. 

 

www.samsungsvc.co.kr/online/faqView.do?faqId=KNOW0000042223#:~:text=%EC%95%B1%20%EC%8B%A4%ED%96%89%20%ED%9B%84%20PC%EC%9D%98,%EC%8B%9C%EC%9E%91%5D%EB%B2%84%ED%8A%BC%EC%9D%84%20%EC%84%A0%ED%83%9D%ED%95%98%EC%84%B8%EC%9A%94.&text=PC%EC%9D%98%20Samsung%20Flow%EC%97%90%EC%84%9C%20%EA%B2%80%EC%83%89%EB%90%9C%20%EB%94%94%EB%B0%94%EC%9D%B4%EC%8A%A4,%ED%95%A0%20%EB%94%94%EB%B0%94%EC%9D%B4%EC%8A%A4%EB%A5%BC%20%EC%84%A0%ED%83%9D%ED%95%98%EC%84%B8%EC%9A%94.&text=PC%EC%9D%98%20Samsung%20Flow%EC%97%90%EC%84%9C%20%ED%8E%98%EC%96%B4%EB%A7%81%20%EB%A9%94%EC%8B%9C%EC%A7%80%EA%B0%80,%5B%EC%98%88%5D%EB%A5%BC%20%EC%84%A0%ED%83%9D%ED%95%98%EC%84%B8%EC%9A%94.

 

홈페이지 < 삼성전자서비스

삼성 플로우, 삼성노트북 소프트웨어, 윈도우10 ver1809, Windows10 RS5, 레드스톤5, 삼성노트북 Pen S, 삼성노트북펜

www.samsungsvc.co.kr

만약 와이파이 설정문제가 있거나 공공장소에서 사용 등 여러가지 이유로 USB 를 통한 연결이 필요한 경우 다음과 같이 진행하면 됩니다.

 

  • 먼저 안드로이드 폰의 설정을 개발자 모드로 변경해야 합니다.

1. 설정에 진입합니다.

 

 

2. 휴대전화 정보에 진입합니다. - 폰 마다 조금씩 차이가 있을 수 있습니다.

3. 소프트웨어 정보를 선택합니다.

 

 

4. 빌드번호를 6~7회 터치 합니다. 그럼 개발자 모드가 켜집니다.

5. 이제 설정 메뉴 제일 하단으로 이동하면 개발자 옵션이 켜진것을 확인 할 수 있습니다. 개발자 옵션으로 진입합니다.

6. USB 디버깅 옵션을 On 합니다.

7. 폰을 컴퓨터와 USB로 연결합니다.

 

 

  • ADB 디버깅 설정을 진행합니다. 자세한 설치 방법은 하단 링크를 참조하세요.

smart-west.tistory.com/59

 

[ Appium ] 설치 / 세팅 하기 - Step3 - Android Studio

Appium 설치를 위한 3번째로 안드로이드 스튜디오를 설치 합니다. 1단계와 2단계단계는 다음 내용을 확인 하세요. smart-west.tistory.com/56 [ Appium ] 설치 / 세팅 하기 - Step1 JAVA 설정 Appium을 사용하기..

smart-west.tistory.com

 

 

  • 이제 USB미러링을 위해 scrcpy를 설정합니다.

1. 하단 사이트로 이동합니다.

github.com/Genymobile/scrcpy/releases/tag/v1.2

 

Release scrcpy v1.2 · Genymobile/scrcpy

Some popular webpages seem to point to this (very) old version. Use the latest version instead. scrcpy v1.2 Changes since v1.1: Increase connection attempts (fix issues over TCP/IP) Fix process ha...

github.com

2. 파일을 다운로드 받아 압축을 해제 합니다

 

 

 

3. cmd 모드에서 압축해제한 폴더로 이동한 후 scrcpy.exe를 실행합니다.

 

4. 미러링 된 화면이 컴퓨터에 표시 됩니다. 단순히 보여지는 것이 아니라 마우스 동작을 통해서 실제 동작도 가능합니다.

 

기본적인 xml의 읽기 쪽 관련 항목은 다음 내용을 참고해주세요.

smart-west.tistory.com/75

 

[ Pthon ] xml 파일 읽기 / 분석 / 출력 하기

파이썬에서 xml 처리를 위해서는 ElementTree를 활용합니다. import xml.etree.ElementTree as elemTree 먼저 xml 데이터 인지 파일인지 확인이 필요합니다. 파일에서 읽어 오는 단계인 경우 아래와 같이 작업하

smart-west.tistory.com

 

먼저 불러온 파일은 다음 방식으로 편집이 가능합니다.

 

for nnn in root.iter("태그")
	new_nnn = int(nnn.text)+1
    nnn.text = str(new_nnn)
    nnn.attrib["속성"] = "aaa"
    nnn.set("속성" , "aaa")

 

태그 삭제를 위해서는 다음과 같이 진행 합니다.

root.remove("태그")

 

 

파일로 쓰는 방법은 다음과 같습니다.

 

doc.write("write_value.xml" , encoding = "utf-8" , xml_declaration= True)

 

 

 

 

 이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받을 수 있습니다.

 

 

 

유비 소프트에서 해피 홀리데이 선물을 제공하고 있습니다. 링크는 실제 다운로드가 가능한 시점에 활성화됩니다. 매일 링크가 변경되며 기존 링크는 만료 되므로 오늘의 무료를 잘 확인해야 합니다. 링크 변경시점이 한국 시간이 아닌점은 참고하여 잘 다운로드 해야 합니다.

연말에 한번더 진행 예정인듯하네요

 


에픽스토어 에서도 무료 게임을 매일 배포하고 있습니다. 에픽 스토어는 동일 링크로 매일 무료 업데이트가 진행 되므로 매일 해당 링크를 클릭해서 게임을 다운로드 받을 수 있습니다.

 

Get A Free Game Every Week | Epic Games Store

Download a free game or join a free-to-play game community today!

www.epicgames.com

 

무료 게임을 받으면 11000원 쿠폰을 제공합니다.(쿠폰 적용 가격 15000원) 할인 가격이 15000원 게임을 선택하면 쿠폰 적용 후 4000원에 구입 가능합니다. 1월 8일까지 사용 가능하며, 쿠폰 사용시 쿠폰이 다시 생깁니다.

 

 

 

 이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받을 수 있습니다.

 

파이썬 사용 도중 다음과 같이 오류가 나타나는 경우가 있습니다. 

첫번째는 request 입니다.

  • 오류 메세지 
    • PythonShellError: ModuleNotFoundError: No module named 'requests'

 

가장 쉬운 해결 방법은 파이썬에 requests 가 설치되어 있는지 확인 입니다.

cmd 창에서 다음과 같이 입력 합니다.

pip install requests

 

해당 작업 후 많은? 경우 해결 됩니다. 하지만 이걸로 해결되지 않는다면 git 소스로 이동합니다.

 

github.com/psf/requests

 

psf/requests

A simple, yet elegant HTTP library. Contribute to psf/requests development by creating an account on GitHub.

github.com

 

다운로드에서 zip 파일로 받아서 압축을 해제 합니다.

 

그후 해당 폴더로 이동 후 다음 명령어로 설치 합니다.

python setup.py install

 

이렇게 직접 설치하면 대부분 해결됩니다.

 

 


유사한 이슈로 아래 오류의 경우 설치 명령어와 Git 소스는 다음과 같습니다.

 

  • 오류메세지
    •  "ModuleNotFoundError: No module named 'PIL'\r\ 
  • 설치 명령어 
pip install Pillow

 

 

francescortiz/image

Django application that provides cropping, resizing, thumbnailing, overlays, tint and mask for images and videos with the ability to set the center of attention in order to have automatic perfect c...

github.com


 

 

Appium 오류 관련

  • 오류 메세지
    • "ModuleNotFoundError: No module named 'appium'\r\n",
  • 설치 명령어
pip install Appium-Python-Client

 

 

Appium-Python-Client

Python client for Appium

pypi.org

 

화면상의 이미지를 찾는 방법은 다음과 같습니다. 찾을 이미지를 미리 준비 하셨다면 다음 3줄로 이미지를 찾는 작업은 완료 됩니다.

import pyautogui 
ImageFile = "E:\\경로\\BB.png"
find_img = pyautogui.locateOnScreen(ImageFile)

 

 

 

 

해당 위치로 마우스를 이동하는 코드는 다음과 같습니다.

 

pyautogui.moveTo(find_img)

 

만약 해당 위치를 클릭하는 방법은 다음과 같습니다.

pyautogui.click(find_img)

 

조금 천천히 클릭하길 원하신다면 뒤에 옵션 값을 넣어주시면 됩니다.

pyautogui.click(find_img , duration=0.1 )

 

만약 find_img를 그냥 프린트 하게 되면 다음과 같이 값이 나타납니다. (이미지와 pc환경에 따라 값은 조금씩 달라집니다.)

 

값을 하나씩 가져와서 표시 하려면 아래와 같이 하시면 됩니다.

print(find_img[0])
print(find_img[1])
print(find_img[2])
print(find_img[3])

 

프로그램을 실행하고 핸들을 구해서 종료하는 기본 패턴입니다.

 

가장 간단한 프로그램 중 하나인 메모장을 실행하고, 1초 대기하고, 메모장의 핸들을 구하고, 메모장을 강제 종료하는 코드는 다음과 같습니다.

import pyautogui
import win32gui
import win32con
import subprocess

subprocess.Popen('notepad.exe')
pyautogui.sleep(1)
hwnd = win32gui.FindWindow(None, "제목 없음 - Windows 메모장")
win32gui.PostMessage(hwnd, win32con.WM_CLOSE, 0, 0)

 

 

 

 

이제 메모장을 실행하여 메모장편집창의 크기를 구하는 방법은 다음과 같습니다. 각각의 핸들과 자식개체의 핸들을 구해서 크기값을 표시해줍니다.

Edit 개체의 크기를 구하는 방식으로 적용 되었으며 크기를 프린트 하도록 설정 하였습니다.

 

 

import pyautogui
import win32gui
import win32con
import subprocess

subprocess.Popen('notepad.exe')
pyautogui.sleep(1)
hwnd = win32gui.FindWindow("Notepad", "제목 없음 - Windows 메모장")
print(hwnd)
old = win32gui.GetWindowText(hwnd)
print(old)

child_class = "Edit"
hwnd_A = win32gui.FindWindowEx(hwnd, 0, child_class, None)

print(hwnd_A)

rect = win32gui.GetWindowRect(hwnd_A)
x = rect[0]
y = rect[1]
w = rect[2] - x
h = rect[3] - y
print("Window %s:" % win32gui.GetWindowText(hwnd_A))
print("\tLocation: (%d, %d)" % (x, y))
print("\t    Size: (%d, %d)" % (w, h))

 

현재 자식개체의 클래스를 기반으로 동작 하도록 설정하였으므로 Mousemove를 통해 현재 값에 대한 정상적인 동작 확인 가능여부를 확인 할 수 있습니다.

 

우선 파이썬에서  pyautogui를 설치해 줘야 합니다. 

pip install pyautogui 를 입력하면 다음과 같이 진행됩니다.

 

성공적으로 설치가 완료 되었다면 이제 GUI 기반 동작이 가능합니다.

 

  • 모니터 크기 값 구하기
import pyautogui 
M_size = pyautogui.size()
print(M_size)

결과 값 : 

Size(width=1920, height=1080)

참고 : 모니터가 2개여도 1번 모니터 기준 값이 나타납니다.

 

만약 하나씩 값이 필요한 경우에는 배열 방식으로 적어주시면 됩니다.

import pyautogui 
M_size = pyautogui.size()
print(M_size[0])
print(M_size[1])

 

  • 마우스위치 값 구하기
M_pos = pyautogui.position()
print(M_pos[0])
print(M_pos[1])

 

결과 값 : 

2번 모니터에 마우스가 위치하면 해당 위치의 값이 숫자로 정상적으로 나타납니다.

 

 

핸들을 구하기 위해서는 추가적으로 pip로 설치해줘야 합니다.

pip install win32gui

 

핸들 값을 구해서 print 하는 함수는 다음과 같습니다. 

import win32gui
 
def EnumWindowsHandler(hwnd, extra):
	wintext = win32gui.GetWindowText(hwnd)
	print (hwnd, wintext)
 
if __name__ == '__main__':
	win32gui.EnumWindows(EnumWindowsHandler, None)

 

해당 코드가 동작하면 핸들리스트가 나타납니다. ( PC 환경 따라 해당 리스트는 차이가 있습니다.)

 

 

추가적으로 마우스에 대한 정보를 추출해 주는 파이썬 툴은 다음과 같습니다.

import pyautogui
pyautogui.mouseInfo()

해당 프로그램을 사용하면 아래 대화상자가 나타나며 실시간으로 마우스가 위치한 위치/ 색상값을 보여 줍니다. 자동화시 유용하게 사용 가능합니다.

 

화면 캡쳐는 다음 코드를 이용하면 됩니다.(1번 모니터만 기본으로 캡쳐 됩니다.)

img_capture = pyautogui.screenshot()
img_capture.save("ssssss.png")

지금 방법은 파일을 불러와서 동작하는 방법입니다. 동작 전 Xlsx 파일을 미리 준비 해야 합니다.

파일을 최초로 생성하기 위한 방법은 다음 링크를 참조 하세요.

 

smart-west.tistory.com/67

 

[ Python ] Excel 파일에 데이터 기록하기

python 에서 Excel 파일로 데이터를 내보내는 방법은 굉장히 쉬운 편입니다. VSCode 기준 Excel 파일 생성에 필수적인 코드는 다음과 같습니다. from openpyxl import Workbook T_workbook = Workbook() T_workshe..

smart-west.tistory.com

 

데이터를 불러오는데 필수적인 항목은 다음과 같습니다. 여기서 data_only 는 현재 보이는 상태로 불러오는 옵션입니다. 나중에 수식이 아닌 수식위치의 값이 오는 것을 확인 할 수 있습니다.

from openpyxl import load_workbook
T_workbook = load_workbook("폴더\\sample.xlsx" , data_only=True )
T_worksheet = T_workbook.active

해당 코드를 동작하기 전에 자동화로 생성 된 문서인 경우엔 excel에서 한번 열고 저장하고 닫아야 합니다. 

 

문서를 불러도 별다른 동작을 하지 않는경우엔 프로그램이 조용히 종료되게 됩니다.(화면상 아무런 변화를 알 수 없습니다.)

내가 문서를정상적으로 불러왔는지 확인을 위해서 print()함수를 이용해 주려 합니다.

for row in T_worksheet.values:
    for cell in row:
        print(cell)

 

 

하단에 결과를 확인하면 다음과 같이 나타납니다.

 

None는 데이터가 없는 빈칸을 의미 합니다. 만약 해당 값이 의미 없는 분은 예외처리 해주시면 됩니다.

for row in T_worksheet.values:
    for cell in row:
        if cell == None :
            continue
        else:
            print(cell)

 

다음 코드를 진행하면 다음과 같이 필요한 내용만 나타납니다.

 

이제 정상적으로 표시 되었으므로 수정 밑 재저장 작업을 하면 내용이 추가 됩니다.

기존 내용을 조금씩 변경 후 저장해보겠습니다.

T_worksheet["B2"] = "bb"
T_worksheet["C3"] = 55
T_worksheet["D4"] = 66
T_workbook.save("폴더\\sample.xlsx")      

 

코린이를 위한 전체 동작 코드는 다음과 같습니다.

from openpyxl import load_workbook
T_workbook = load_workbook("폴더\\sample.xlsx" , data_only=True )
T_worksheet = T_workbook.active
for row in T_worksheet.values:
    for cell in row:
        if cell == None :
            continue
        else:
            print(cell)


T_worksheet["B2"] = "bb"
T_worksheet["C3"] = 55
T_worksheet["D4"] = 66
T_workbook.save("폴더\\sample.xlsx") 

 

값을 넣고 저장 후 다시 sample.xlsx 문서를 열어 봅니다.

 

다른 값은 정상적으로 변경 되었으나, 수식값은 기존 수식이 아닌 숫자값으로 변경되어 유지 되는 것을 확인 할 수 있습니다.

만약 수식이 유지되길 원하시는 경우 data_only=True 를 제거 해주시면 됩니다. 

 

단순 글자 추가가 아닌 이미지 추가도 쉽게 가능합니다.

from openpyxl.drawing.image import Image
img= Image("폴더\\AA.png")
T_worksheet.add_image(img, "F6")
T_workbook.save("폴더\\sample.xlsx")      

 

혹시 오류가 나는 경우엔 Pillow 를 설치해줘야 합니다.

pip install Pillow

 

정상적으로 진행 되었다면 이미지가 삽입 된 것을 확인 할 수 있습니다.

python 에서 Excel 파일로 데이터를 내보내는 방법은 굉장히 쉬운 편입니다. 

 

VSCode 기준 Excel 파일 생성에 필수적인 코드는 다음과 같습니다.

from openpyxl import Workbook
T_workbook = Workbook()
T_worksheet = T_workbook.active
T_workbook.save("경로\\sample.xlsx")
T_workbook.close()

 

처음 3줄은 거의 기본값이라고 생각하시면 되며, save의 경로 값은 개인 PC상황에 따라 변경해 주시면 됩니다.

이제 데이터를 추가하는 방법은 다음과 같은 코드를 save 전에 넣어주면 됩니다.

T_worksheet["B2"] = "aa"

 

단순히 String 값을 넣는 방법은 String로 넣으면 되며, int 숫자 값은 그냥 숫자 값을 넣어주면 됩니다.

T_worksheet["C3"] = 11

 

당연히 Excel의 꽃인 함수도 사용 가능합니다.

T_worksheet["C3"] = 11
T_worksheet["D4"] = 22
T_worksheet["E5"] = "=SUM(C3,D4)"

 

 

해당 항목들을 모두 반영한 코드는 다음과 같습니다.

from openpyxl import Workbook
T_workbook = Workbook()
T_worksheet = T_workbook.active
T_worksheet["B2"] = "aa"
T_worksheet["C3"] = 11
T_worksheet["D4"] = 22
T_worksheet["E5"] = "=SUM(C3,D4)"
T_workbook.save("폴더\\sample.xlsx")

 

생성 된 xlsx파일을 열면 다음 내용이 나타납니다.

 

해당 sample.xlsx 문서는 한번 열고 그대로 닫아도 저장여부를 물어보게 됩니다. 

다음 작업을 하기 전에 한번은 저장하기를 눌러주세요.

excel은 한번 열고 닫는 과정에서 함수등을 계산해서 다시 저장하는 작업을 진행하는데 다음 작업전에 해당 작업이 안된 경우 정상적인 값이 표시되지 않을 수 있습니다.

 

다음 내용으로 넘어가기 전에는 필수로 excel에서 저장이 필요합니다.

smart-west.tistory.com/68

 

[ Python ] Excel 파일 편집하기

지금 방법은 파일을 불러와서 동작하는 방법입니다. 동작 전 Xlsx 파일을 미리 준비 해야 합니다. 파일을 최초로 생성하기 위한 방법은 다음 링크를 참조 하세요. smart-west.tistory.com/67 [ Python ] Excel

smart-west.tistory.com

 

 

  • 시트 추가하기/이름 변경하기

신규 시트를 추가하고 이름을 변경하는 코드는 다음과 같습니다.

T_worksheet = T_workbook.create_sheet()
T_worksheet.title = "TestSheet"

공인 인증서가 사라지고 있지만 여전히 사용 되는 곳이 많이 있는 공인 인증서 입니다.

해당 폴더 위치는 다음과 같습니다.

  • C:\Users\사용자\AppData\LocalLow

 

직접 찾아가려면 숨김 폴더를 보이도록 처리해 주셔야 합니다. 

Win10의 경우 폴더를 열고 옵션을 선택합니다.

옵션 선택 후 나타나는 폴더 옵션 대화상자에서 "숨김 파일, 폴더 및 드라이브 표시"로 라디오 버튼을 선택합니다.

 

해당 옵션 변경 후 다시 폴더를 들어가 보면 숨겨져 있던 폴더가 흐릿하게 보이는 것을 확인할 수 있습니다.

 

---------------

 

폴더 옵션 변경없이 숨김 폴더를 자동으로 (PC 상관없이) 열어주는 명령어는 다음과 같습니다.

ShellExecute(@UserProfileDir &"\AppData\LocalLow\NPKI")

@UserProfileDir 은 PC마다 사용자 이름이 달라져도 그 값을 가져와 주므로 유용하게 사용 됩니다. 내가 필요한 폴더 값을 넣어서 유용하게 사용 가능합니다.

 

해당 파일을 EXE로 생성한 동작파일은 아래 파일 참조하시면 됩니다. 실행하면 인증서 폴더를열어줍니다.

 

 

결과 실행 파일 : - 주의사항 : 아래 EXE 파일은 위 소스를 EXE로 변경하여 빠른 실행을 도와 주는 파일입니다.  인터넷에서 다운 받은 EXE의 경우 보안알림이 뜰 확률이 매우 높습니다. 관련 메세지가 불안하신 경우 상단 링크의 스크립트 소스를 이용해서 직접 빌드해서 사용하시면 됩니다. 

 

Open_NPKI.zip
0.42MB

아웃룩에 연결 된 계정 정보 지우는 방법 입니다.

 

먼저 제어판으로 들어갑니다.

 

우측 상단 검색에서 '메일' 이나 'Mail' 로 검색 합니다. PC 환경에 따라 결과가 달라질 수 있습니다. 

 

검색 된 메일 항목을 선택하면 다음과 같은 대화상자가 나타납니다.

 

 

3번째 항목인 프로필 보기 를 선택합니다.

 

제거를 선택하여 프로필을 지워 줍니다. 적용 > 확인으로 마무리 해줍니다.

 

 

세부 데이터 제거는 하단 링크 페이지를 참조 하세요.

smart-west.tistory.com/64

 

[ RPA ] 아웃룩(Outlook)데이터 지우기 - 초기화 하기

아웃룩 설정 과정에서 문제가 생겨서 기존에 등록 된 내용을 지우고 초기화 하는 위치는 크기 2군데 입니다. 레지스트리와 데이터 폴더 인데요 각각의 위치는 다음과 같습니다. 컴퓨터\HKEY_CURRENT

smart-west.tistory.com

 

 

계정 정보를 제어판에서 제거하는 방법은 아래 링크 참고 하세요.

smart-west.tistory.com/65

 

[ Outlook ] 계정 정보 지우기 - 아웃룩

아웃룩에 연결 된 계정 정보 지우는 방법 입니다. 먼저 제어판으로 들어갑니다. 우측 상단 검색에서 '메일' 이나 'Mail' 로 검색 합니다. PC 환경에 따라 결과가 달라질 수 있습니다. 검색 된 메일

smart-west.tistory.com

 

 

아웃룩 설정 과정에서 문제가 생겨서 기존에 등록 된 내용을 지우고 초기화 하는 위치는 크기 2군데 입니다.

레지스트리와 데이터 폴더 인데요 각각의 위치는 다음과 같습니다.

 

  • 컴퓨터\HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\16.0\Outlook

  • C:\Users\사용자\AppData\Local\Microsoft\Outlook

 

 

다음 경로를 제거하기 위한 자동화 코드는 3줄입니다.

해당 내용을 복제 후 빌드하여 사용하시면 됩니다. 

레지스트리 삭제나 폴더 삭제 명령어는 매우 매우 위험하므로 변경하고 실행 전 다시 한번 확인 하시길 권장해 드립니다.

RegDelete("HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\15.0\Outlook")
RegDelete("HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\16.0\Outlook")
DirRemove( @UserProfileDir &"\AppData\Local\Microsoft\Outlook")

 

만약 아웃룩 프로세스가 실행 된 경우에는 정상적인 삭제가 이루어 지지 않을 가능성이 높으므로 해당 프로세스 종료 후 실행이 필요합니다.

 

프로세스 종료는 다음 코드로 진행 됩니다.

ProcessClose("OUTLOOK.EXE")

 

 

결과 실행 파일 : - 주의사항 : 아래 EXE 파일은 위 소스를 EXE로 변경하여 빠른 실행을 도와 주는 파일입니다.  인터넷에서 다운 받은 EXE의 경우 보안알림이 뜰 확률이 매우 높습니다. 관련 메세지가 불안하신 경우 위에 AU3 파일이나 상단 링크의 스크립트 소스를 이용해서 직접 빌드해서 사용하시면 됩니다. 

 

Clear_Outlook.zip
0.54MB

간단하게 만든 툴이라 모든 사이트에 적용되는 모듈은 아닙니다.

 

간혹 복사가 되지 않는 사이트 중 해당 사이트의 내용을 복사 가능하도록 변환해주는 툴입니다.

사이트마다 보호용 코드가 좀더 있는경우에는 정상적으로 동작되지 않을 수 있습니다.

 

 

정상적으로 web 주소 전체를 넣으면 해당 페이지를 변환하여 보여줍니다. 

일부 사이트에 접속했는데 내용 복사가 안되는 경우 복사가 가능하도록 변환해줍니다.  모든 사이트에 적용되지는 않습니다. 

 

동작 방식은 다음과 같습니다.

 

해당 코드를 자체적으로 응용 하시려는 분은 다음 코드를 참조하시면 됩니다. 해당 내용은 뼈대에 해당하며 조금씩 다른 사이트마다 필요한 예외처리를 추가하면 좀더 안정적인 프로그램을 제작 할 수 있습니다.

#include <IE.au3>
#include <MsgBoxConstants.au3>
Local $sFilePath = @ScriptDir& "\Test.htm"
Local $sAnswer = InputBox("Web Converter", "Which site do you want to convert?", "", "" )
Local $oIE = _IECreate($sAnswer)
$sHTML = _IEDocReadHTML($oIE)
Local $hFileOpen = FileOpen($sFilePath, $FO_APPEND)
FileWrite($hFileOpen, $sHTML )
FileClose($hFileOpen)
_IENavigate($oIE, $sFilePath )

 

결과 실행 파일 : - 주의사항 : 아래 EXE 파일은 위 소스를 EXE로 변경하여 빠른 실행을 도와 주는 파일입니다.  인터넷에서 다운 받은 EXE의 경우 보안알림이 뜰 확률이 매우 높습니다. 관련 메세지가 불안하신 경우 위에 AU3 파일이나 상단 링크의 스크립트 소스를 이용해서 직접 빌드해서 사용하시면 됩니다. 

 

Web_Converter.zip
0.54MB

 

 

 

--------------------------------------------------------------

 

이번에는 결과물을 txt 파일로 생성해주는 툴을 만들어 봤습니다.

동작방식은 기존과 동일하지면 결과물을 txt 파일로 생성하므로 상황에 따라서는 좀더 유용할 것 같네요.

 

Web_Converter_text.zip
0.54MB

 

 

도서 추천

https://www.millie.co.kr/v3/bookDetail/179592953?referrer=searchResult

 

AutoIt을 활용한 업무 자동화

배우기 쉬운 프리웨어 자동화 언어인 AutoIt을 사용하여 업무를 자동화 합니다. 이 책은 프로그래밍에 대한 지식이나 이론적인 부분을 살펴보기보다는 ..

www.millie.co.kr

 

 

https://ebook-product.kyobobook.co.kr/dig/epd/ebook/E000005138322

 

AutoIt을 활용한 업무 자동화 | PlanB | 스프링드림- 교보ebook

단순하지만 반복적이고 손이 많이 가는 업무를 진행하고 있나요? 업무 자동화를 꿈꾸지만 프로그래밍을 모르는 비전공자라서 시작을 두려워 하고 있지 않은가요? 프로그래밍을 잘 몰라도 예제

ebook-product.kyobobook.co.kr

 

python 설치와 vscode 등 에디터 설치 관련 정보는 포함되어 있지 않습니다.

 

매번 버전이 변경되다 보니 애드인이 정상동작하는 경우도 있고 아닌 경우도 있습니다. 예전에는 google_images_download를 통해 다운로드가 가능했으나, 이젠 동작하지 않는 분들은 다음과 같이 진행하면 됩니다.

 

먼저 이전에 google_images_download 를 설치했다면 해당 코드를 제거 해야 합니다. 제거 코드는 다음과 같습니다.

pip uninstall google_images_download

 

기존에 설치 된 코드가 없다면 다음 코드로 바로 설치하면 됩니다.

 

pip install git+http://github.com/joeclinton1/google-images-download.git

github.com/Joeclinton1/google-images-download

 

Joeclinton1/google-images-download

Python Script to download hundreds of images from 'Google Images'. It is a ready-to-run code! - Joeclinton1/google-images-download

github.com

 

해당 코드를 설치 했다면 이제 이미지를 다운로드 가능합니다. 

파이썬 코드에 해당 내용을 붙여놓고 코드를 동작하면 다운로드 폴더에 추가 폴더가 각각의 키워드로 생성되며 다운로드가 시작 됩니다.

해당 코드는 하단 링크에서 제공하는 코드 입니다.

google-images-download.readthedocs.io/en/latest/examples.html#

 

Examples — Google Images Download documentation

Examples Link to GitHub repo Link to Documentation Homepage Link to Input arguments or parameters Config File Format You can either pass the arguments directly from the command as in the examples below or you can pass it through a config file. Below is a s

google-images-download.readthedocs.io

 

VScode 에서 다음과 같이 입력하면 됩니다.

 

from google_images_download import google_images_download   #importing the library
response = google_images_download.googleimagesdownload()   #class instantiation
arguments = {"keywords":"Polar bears,baloons,Beaches","limit":20,"print_urls":True}   #creating list of arguments
paths = response.download(arguments)   #passing the arguments to the function
print(paths)   #printing absolute paths of the downloaded images

 

 

여기서 수정하며 받을 수 있는 내용은 다음 코드 입니다. 3개의 키워드를 20개씩 받도록 설정 되어 있습니다. 이미지가 많이 필요한 경우에는 limit 갯수를 변경하면 됩니다.

arguments = {"keywords":"Polar bears,baloons,Beaches","limit":20,"print_urls":True} 

 

Appium 설치를 위한 3번째로 안드로이드 스튜디오를 설치 합니다.

 

1단계와 2단계단계는 다음 내용을 확인 하세요.

smart-west.tistory.com/56

 

[ Appium ] 설치 / 세팅 하기 - Step1 JAVA 설정

Appium을 사용하기 위해서는 Java가 필요합니다. 먼저 JAVA 다운로드를 진행하는 방법에 대하여 알아보겠습니다. JAVA 를 설치하려 하면 JRE와 JDK 가 보입니다. 간단히 말하면 단순한 이용이라면 JRE (

smart-west.tistory.com

 

 

 

안드로이드 스튜디오 설치는 다음 링크로 접속 후 다운로드를 진행하면됩니다.

 

developer.android.com/studio

 

Download Android Studio and SDK tools  |  Android 스튜디오

developer.android.com

해당 사이트를 접속하면 다음과 같은 화면이 나타납니다.

 

다운로드를 누르면 나타나는 약관 확인 후 파일 다운로드를 진행합니다.

 

 

 

android-studio-ide-201.6953283-windows.exe

 

안드로이드 스튜디오 설치를 진행합니다.

설치 후  파일 > 설정으로 이동 후 다음과 같이 SDK Tools를 추가 설치 해줍니다.

 

설치 시 화면은 다음과 같습니다.

 

이제 지원이 필요한 안드로이드 OS 를 선택하여 추가 합니다. 개인 상황에 맞게 추가해주셔도 되지만 저는 안드로이드 6 인 마시멜로우 부터 최신 버전을 모두 설치했습니다. 

 

이제 안드로이드 SDK를 시스템 Path로 추가 합니다.

추가해야 하는 항목은 3개 입니다. 

  • C:\Users\사용자\AppData\Local\Android\Sdk\emulator
  • C:\Users\사용자\AppData\Local\Android\Sdk\platform-tools
  • C:\Users\사용자\AppData\Local\Android\Sdk\tools

자세한 추가 방법이 필요한 경우 Step1의 자바 Path 추가를 확인하세요.

smart-west.tistory.com/56

 

[ Appium ] 설치 / 세팅 하기 - Step1 JAVA 설정

Appium을 사용하기 위해서는 Java가 필요합니다. 먼저 JAVA 다운로드를 진행하는 방법에 대하여 알아보겠습니다. JAVA 를 설치하려 하면 JRE와 JDK 가 보입니다. 간단히 말하면 단순한 이용이라면 JRE (

smart-west.tistory.com

 

 

가장 마지막으로 앱피움 사용 준비 완료는 다음과 같이 확인 가능합니다.

npm install appium-doctor -g
appium-doctor -h
appium-doctor --android

설치의 마지막 단계인 Appium 설치를 진행 합니다.

 

앱피움 다운로드 사이트에 접속 합니다.

appium.io/

 

Appium: Mobile App Automation Made Awesome.

Appium Philosophy Appium is built on the idea that testing native apps shouldn't require including an SDK or recompiling your app. And that you should be able to use your preferred test practices, frameworks, and tools. Appium is an open source project and

appium.io

 

 

해당 버튼을 클릭하면 다양한 환경에 대한 다운로드 파일이 나타납니다.윈도우 10에서는 하단에 표시된 파일을 다운로드 합니다.

 

다운로드 파일 이름 : Appium-windows-1.18.3.exe

 

사용 범위 선택 후 설치 하시면 됩니다.

설치 후 Appium을 실행하면 다음과 같은 화면이 나타납니다. Start Server을 클릭해주세요.

 

서버가 시작 되면 다음과 같이 표시 됩니다. 위쪽 돋보기 모양을 클릭해주세요.

 

 

Start Session 버튼 까지 확인 되었으면 설치는 완료 되었습니다.

 

Appium의 환경 구성을 위해 JAVA를 설치 하셨다면 두 번째로 Node JS를 설치해야 합니다.  JAVA 설치를 위한 내용이 필요하신 분은 하단 링크를참조 하세요.  

smart-west.tistory.com/56

 

[ Appium ] 설치 / 세팅 하기 - Step1 JAVA 설정

Appium을 사용하기 위해서는 Java가 필요합니다. 먼저 JAVA 다운로드를 진행하는 방법에 대하여 알아보겠습니다. JAVA 를 설치하려 하면 JRE와 JDK 가 보입니다. 간단히 말하면 단순한 이용이라면 JRE (

smart-west.tistory.com

 

Node JS의 경우 하단링크로 접속하면 다운로드 가능한 파일이 보입니다.

nodejs.org/ko/download/

 

다운로드 | Node.js

Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine.

nodejs.org

 

해당 페이지 접속 후 .MSI  버전을 다운 받으시면 됩니다.

 

다운받은 파일을 설치합니다. - node-v14.15.1-x64.msi

 

node를 설치하면 npm 이 함께 설치 됩니다.

cmd 창으로 진입하여 다음 명령어로 appium을 설치 합니다.

npm install -g appium

 

cmd에서 appium이 정상적으로 설치 되지 않는다면 path 확인이 필요합니다.

 

 

Appium을 사용하기 위해서는 Java가 필요합니다. 먼저 JAVA 다운로드를 진행하는 방법에 대하여 알아보겠습니다.

 

JAVA 를 설치하려 하면 JRE와 JDK 가 보입니다. 간단히 말하면 단순한 이용이라면 JRE (사용자) 이고 JDK 가 개발툴과의 연계를 위해 필요하다고 생각하시면 됩니다. JDK 가 큰 범주 입니다.

출처 : www.javacodemonk.com/difference-between-jdk-jre-and-jvm-6380989d

 

 

Appium은 개발툴에서 사용을 하므로 안전하게 JDK를 설치하여 진행하겠습니다.

www.oracle.com/kr/java/technologies/javase-downloads.html

오라클 사이트에서 해당 파일을 쉽게 다운로드 가능합니다.

 

해당 페이지 접속후에 보이는 JDK 다운로드 를 선택해주세요.  오른쪽 버전은 변경 될 수 있으므로 왼쪽에 Windows x64 Installer을 확인 후 다운로드 받으시면 됩니다.

다운로드 시 확인페이지가 나타납니다.

 

 

다운로드 받은파일을 설치를 진행 합니다.

그 후 JAVA 환경 변수를 설정하는 작업을 진행합니다.

 

윈도우 - 검색에 시스템 환경 변수 편집으로 진입합니다.

 

시스템 변수에 Path를 선택 후 편집을 선택 합니다.

새로 만들기 선택 후 자바 경로를 추가 해주시면 됩니다. 자바의 기본 경로는  

  • C:\Program Files\Java\jdk-버전 정보\bin

입니다.

 

path 가 정상적으로 연결되었는지 확인을 위해서는 명령 프롬프트(CMD) 창으로 들어갑니다.

cmd 창에 java 입력 후 엔터를 입력합니다. JAVA 관련 내용이 나타나면 path가 정상적으로 연결된 것입니다.

 

 

 

www.pickle.plus/

 

피클플러스

계정 공유, 이제 자동으로 매칭받고 안전하게 이용하세요

www.pickle.plus

넷플릭스나 왓차의 경우 4명을 모아서 한달씩 결제하면 저렴하게 프리미엄 서비스를 이용 가능합니다.

주변에 지인들이 타이밍 맞게 운영하면 좋지만 4명을 모이는 경우가 은근히 힘들기 때문에 이런 매칭 사이트를 이용하는 것도 나쁘지 않은 것 같습니다.

 

지인 중에 돈을 매달 잘 입금하지? 않는 위험성도 있으므로 한번쯤 고민해 보는 것도 좋을 것 같습니다.

해당 사이트 가입은 카카오톡을 기준으로 가입이 가능합니다.

 

파티장의 경우 수수료가 없는 대신 ID관리가 필요하고 파티원이 모두 모집되지 않으면 잠시? 공백도 경험하는 위험성은 존해 합니다.

 

파티원의 경우 이용한 만큼만 비용을 지불하면 되지만 495원(넷플릭스 기준)을 수수료가 나가므로 자신에 상황에 맞게 참여하면 될 것 같습니다.

 

가장 중요한 파티원 모집의 경우 아는 사람을 초대도 가능하며 아는 사람이 1명만 있다면 나머지 2명은 자동 초대를 이용해서 운영 가능합니다.

 

 

 

 

문제가 있는 파티원의 경우 파티원 관리를 통해 추방도 가능합니다.

파티장의 경우 공유가능한 ID/PW로 생성한 넷플릭스 계정 생성은 필수 입니다.

+ Recent posts