본문 바로가기

PYTHON

(19)
Django 장고 시작하기 - 뷰, 템플릿, 관리자페이지 커스텀 - 함수형 뷰와 리스트 뷰가 있음 1. views.py from django.views.generic.edit import CreateView, UpdateView, DeleteView from django.views.generic.list import ListView from django.views.generic.detail import DetailView from .models import Bookmark class BookmarkListview(ListView): model = Bookmark 2.url 연결 - 어떤 주소를 입력했을 때 뷰가 보일 것인지 연결 (앱 urls.py에 설정 후 루트 urls.py에서 import) django3부터는 import url 대신 path사용... 이걸로 엄..
Django 장고 시작하기 -기본세팅, 앱, 모델 - 터미널에 입력 $pip install django $django-admin startproject config . $python manage.py migrate // 데이터 베이스 초기화 $python manage.py createsuperuser // 관리자 계정 생성 $python manage.py runserver 127.0.0.1:8000 (/admin) localhost:8000 으로 접속 $python manage.py startapp 앱이름 앱 생성하면 관련 폴더와 파일 생김 ex) admin.py model.py views.py - DB관련 1. 모델파일 작성하기 ex) models.py class 클래스이름(models.Model): site_name = models.CharField..
opencv 템플릿 이미지비교 미리 올바른 결과이미지를 저장해두고 (template) 다른 이미지와 비교해서 해당영역에 네모를 그려 저장. 일정 확률 이상 이미지가 비슷하면 True (흑백으로 바꾸어 비교함) ```python # 템플릿 이미지 유사도 측정 def templatematching_TF(checkobject,result_list): imageNDArray = cv2.imread("./automation_screenshot/"+checkobject+".png") # 캡처 이미지 업로드 grayscaleImageNDArray = cv2.cvtColor(imageNDArray, cv2.COLOR_BGR2GRAY) # 흑백 templateImageNDArray = cv2.imread("./automation_img_templat..
actionchain ```python from selenium.webdriver.common.action_chains import ActionChains canvas = driver.find_element_by_id("geoGraph") action = ActionChains(driver) action.send_keys("c").perform() action.move_to_element(canvas).click().move_by_offset(100, 0).click().release().perform() action.move_to_element(canvas).click().move_by_offset(100, 100).click().release().perform() action.move_to_element(canvas).d..
순차적 thread 요소를 찾고 있는 중에 다른 요소를 찾는 과정이 실행되면 안되므로 thread에 lock을 걸어줬다. 버튼을 누르면 함수가 쓰레드로 실행되게 했다. ``` python lock = threading.Lock() # lock 객체 생성 def basic_test_lock(self): lock.acquire() # lock try: self.result_label.config(text="기본 도구 테스트 진행중") basic_test(self.version_result_label["text"]) finally: lock.release() # lock해제 - 다른 쓰레드가 실행가능 self.result_label.config(text="기본 도구 테스트 끝") basicBtn=Button(window, tex..
selenium 속도향상 옵션추가 headless , gpu사용안하는 등 확실히 속도가 빨라지는 것 같다. from selenium import webdriver # from selenium.webdriver.common.keys import Keys # from selenium.webdriver.common.action_chains import ActionChains options = webdriver.ChromeOptions() # 크롬 옵션 객체 생성 options.add_argument('headless') # headless 모드 설정 options.add_argument("window-size=1920x1080") # 화면크기(전체화면) options.add_argument("disable-gpu") options.add_ar..
회사컴도 과부하 걸리는.. 보호되어 있는 글입니다.
Implicit Waits vs explicitly wait (Expected Conditions) 동적으로 변하는 웹페이지라면 명시적대기 explicitly wait 그렇지 않다면 암묵적대기 implicitly wait (범위시간 내에서 대기) explicit wait 더 많은 제어권 제공. 동기화가 필요한 시점에 나머지 테스트 스크립트 정상동작 공식사이트: https://selenium-python.readthedocs.io/api.html#module-selenium.webdriver.support.expected_conditions 공식사이트 wait : https://selenium-python.readthedocs.io/waits.html from selenium import webdriver from selenium.webdriver.common.by import By from seleni..