소프트웨어18 find_element 함수 개조 크롤러를 만들다 보면 find_element 함수를 정말 많이 쓰게 되는데이게 경우에 따라 원하는 태그에 접근하려면 여러 번 타고 타고 들어가야 하는 경우가 많다 보니뭔가 범용성이 좋은 함수로 개조하고 싶은 욕구가 느껴지기 마련이다.그래서 내 경우는 find_element를 find 함수에 넣어서 개조해 사용한다. 개조 find 함수"""Parameters:- element: webdriver 혹은 webelement를 인수로 받는다. 둘 다 find_element를 사용할 수 있다.- classes: 인수를 여러개 받는다. 타깃이 되는 태그 인자들을 받는다.- nth: 마지막 인자의 개수가 여러개일 경우 1번 2번 같이 지정이 가능하다.- add: 마지막 인자에서 개수가 정해지고 또 태그가 있을 경우가.. 소프트웨어/Python 2024. 5. 15. 웹 드라이버 함수로 배치? 클래스로 배치? 최근에 웹 드라이버로 크롤링 툴을 만드는데기존 방식은 셀레니움 웹드라이버를 선언 및 리턴하는 모습이었지만 뭔가 클래스에 넣어서 사용해보고 싶어서 바꿨는데기존 방식이 가지는 메리트가 더 커서 다시 기존 방식으로 돌아갔다.돌아간 이유두 방식 모두 find 내부에 find_element를 사용해 내부 인자를 찾는다.작동 방식은 이 글을 참조하면 될 것이다.아무튼 find로 내부 인자를 찾는데 인자가 겹치는 경우도 많고 러시아 마트로시카처럼 인자 안에 인자를 찾아야 하는 경우도 많이 생기다 보니 다음과 같이 해당 함수를 두 번 사용해서 작동하는 것을 기대했다.self.find(첫번째 인자).find(두번째 인자) 하지만 할 수 없다. 왜냐하면 첫 self.find(첫번째 인자)의 반환 값은 WebElement이.. 소프트웨어/Python 2024. 5. 15. PYQT5 스타일시트 적용 pyqt5로 기본으로 생성하는 ui창은 생각보다 밋밋하기에 스타일시트를 적용하는데웹에서 html을 꾸미는 파일이 css 라면 pyqt5에서 꾸미는 파일은 qss를 이용한다. 스타일 시트 적용 방법스타일 시트를 적용시키는 방법은 다음과 같으며ui를 생성하고 있는 pyqt5 위젯(QWidget) 혹은 윈도우(QMainWindow) 내부에 다음과 같이 써주면 된다.qss_file = QFile('stylesheet.qss')qss_file.open(QFile.ReadOnly | QFile.Text)qss_stream = QTextStream(qss_file)self.setStyleSheet(qss_stream.readAll())qss_file.close() 뭐 보면 스타일시트를 QFile이라는 객체로 열어주고.. 소프트웨어/Python 2024. 5. 14. ComfyUI Reactor 오류 수정 https://github.com/Gourieff/comfyui-reactor-node?tab=readme-ov-file GitHub - Gourieff/comfyui-reactor-node: Fast and Simple Face Swap Extension Node for ComfyUIFast and Simple Face Swap Extension Node for ComfyUI - Gourieff/comfyui-reactor-nodegithub.comReactor라는 노드는 Face Swap에 특화된 노드인데 성능이 상당히 괜찮다.다만 이걸 ComfyUI로 설치하려하거나 업데이트를 하면 같은 오류가 발생하는데... 오류 ReActor라는 라이브러리를 다운받으면 항상 이런 오류가 발생한다... 업데이트 해.. 소프트웨어/인공지능 2024. 5. 8. ComfyUI AI 사진 만들기 ComfyUI 설치를 모두 했다는 가정하에우리의 목적 AI 사진을 만들어봐야 하지 않겠는가? 노드 설명처음 실행을 하면 다음과 같이 기본으로 이미지 생성이 가능한 창이 나온다.오른쪽 Queue Prompt 버튼을 누르면 왼쪽부터 차근차근 노드들이 실행되는 구조인데기본 노드를 알면 AI가 사진을 어떻게 만드는지 대충 감이 잡히기에 기본 노드에 대해 알아보자 Load Checkpoint체크포인트 모델을 선정하는 곳입니다.모델의 학습한 결과에 따라 다른 그림이 나오기 때문에자기가 출력하고 싶은 사진 스타일에 맞게 체크포인트를 선정하고 사진을 생성한다.다음은 다른 모델을 사용해서 생성한 이미지들이다.Clip Text Encoder체크포인트에 연결된 CLIP Text Encoder는 언어모델로Positive는 긍.. 소프트웨어/인공지능 2024. 5. 8. ComfyUI Manager 설치방법 종종 ComfyUI를 사용할 때 다른 사람의 workflow.json을 쓰다 보면 나한테 없는 노드를 사용하는 경우가 대부분이기에 추가로 노드 Extension을 설치해서 같은 환경으로 만들어줘야 한다. 이걸 설치하랴 관리하려 무지 귀찮은 경우가 많은데 Manager를 다운로드하면 알아서 설치해야 할 Extension을 알려주고 업데이트 여부도 확인해 줘서 편리하다. 설치 방법일단 Packages → ComfyUI 에서 퍼즐 모양 버튼을 누르면 다음과 같이 설치 가능한 Extension 목록이 나온다.여기서 ComfyUI-Manager를 설치해 준다. ComfyUI를 실행할 시 다음과 같은 버튼이 보이면 성공이다. 여기 다른 사람의 workflow를 가져온 모습이다.빨간색으로 표시된 부분이 없는 노드라.. 소프트웨어/인공지능 2024. 5. 8. AI 사진 통합 툴 Stable Matrix 설치방법 대표적인 AI 사진 툴로 ComfyUI / Stable Diffusion이 있는데 이 두 툴을 통합해서 사용할 수 있는 환경인 Stable Matrix 설치 방법을 소개해보고자 한다.설치 방법 이 깃허브 링크를 통해 들어간다.https://github.com/LykosAI/StabilityMatrix GitHub - LykosAI/StabilityMatrix: Multi-Platform Package Manager for Stable DiffusionMulti-Platform Package Manager for Stable Diffusion - LykosAI/StabilityMatrixgithub.com 페이지에 들어가면 os에 맞게 설치파일을 다운로드하면 된다.난 윈도우 환경에서 돌리기 때문에 맨 왼.. 소프트웨어/인공지능 2024. 5. 7. 크롬드라이버 최신버전 다운링크 링크 https://googlechromelabs.github.io/chrome-for-testing/ Chrome for Testing availabilitychrome-headless-shellmac-arm64https://storage.googleapis.com/chrome-for-testing-public/123.0.6312.105/mac-arm64/chrome-headless-shell-mac-arm64.zip200googlechromelabs.github.io 각자 os에 맞게 다운받아주면 됩니다. 소프트웨어/Python 2024. 4. 10. [플러터] 앱 아이콘 바꾸기 적용 방법 1024 * 1024 픽셀 크기의 PNG 아이콘 이미지가 필요하다.몇몇 도움이 될 만한 사이트 링크를 달자면https://www.appicon.co/ App Icon Generator www.appicon.co여기 1024*1024 사이즈의 이미지를 넣으면 zip파일을 뱉어내는데 하나는 android 용 하나는 ios 용이다.android는 저 5개의 파일을 교체해주면 되고 ios는 해당 이미지들을 바꿔주면 된다. 바뀐 앱 아이콘일 관측할 수 있다. 적응형 아이콘 필요한 것은 Android Studio 3.0 이상의 버전 그리고 compileSDK Version을 26이상으로 해야 한다.또한 앞면(foreground)에 표현될 리소스와 뒷면(background)에 표현될 리소스를 준비하면 됩니.. 소프트웨어/앱 개발 2024. 4. 9. [플러터] 앱 이름 바꾸기 요즘 앱 만드는데 관심이 생겼습니다. 플러터가 앱을 만드는데 가성비 있는 툴이라고 하더군요.앱은 처음인지라 React Native / Swift를 처음부터 배우는 것은 좀 무리일 것 같고 크로스 플랫폼을 지원하는 플러터가 꽤 괜찮은 선택인 듯합니다. 그래서 공부하는 중 앱을 대표하는 이름을 바꾸는 방법을 공유해보고자 합니다. 적용 방법 우리가 Android / Ios로 프로젝트를 막 생성한 직후라고 가정을 하겠습니다. Android 경우 andriod/app/src/main 내부 AndriodManifest.xml 파일을 찾습니다. 여기서 android:label 값을 변경하면 앱의 이름을 변경할 수 있습니다.그런데 여기서 label을 한국어로 "텍스트 읽기 앱" 으로 바꾼다면 외국에서도 한국말로 나옵.. 소프트웨어/앱 개발 2024. 4. 8. [플러터] 초기 환경설정 Flutter SDK 설치 Flutter SDK 설치 - https://docs.flutter.dev/get-started/install/windows/desktop?tab=download 경로에 한국어 및 공백 문자가 들어가지 않게 조심한다.저의 경우엔 C:\app 이제 이 flutter sdk를 인식시키기 위해 제어판에 환경변수를 등록시켜줘야 하는데검색에서 환경만 써도 나온다. 이제 정상적으로 윈도우가 플러터 SDK를 인식하는지 알려면 CMD 창을 띄워서flutter라고 써보면 된다. FVM을 이용해 Flutter SDK 설치 FVM을 이용해 Flutter SDK 설치 - https://fvm.app/documentation/getting-started/installation 플러터 SD.. 소프트웨어/앱 개발 2024. 4. 8. PYQT5 Drag & Drop 기능 파일을 탐색기로 일일이 찾고 넣는 게 불편해서 간편하게 인식시키는 방법이 있을까 고민하다가 찾았다. PYQT5에서 프로그램으로 파일이나 폴더를 Drag & Drop으로 인식시킬 수 있다.기능 소개 전체 코드from PyQt5.QtWidgets import QApplication, QWidget, QLabel, QVBoxLayoutfrom PyQt5.QtGui import QIconroute_first = "경로 : "class MyApp(QWidget): def __init__(self): super().__init__() self.initUI() def initUI(self): self.setWindowTitle('CheckFileRoute') s.. 소프트웨어/Python 2024. 2. 25. 이전 1 2 다음 💲 추천 글