프로그래밍/python 269

파이썬 셀레니움 html 특정영역 드래그하여 복사하는 코드

"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다." # 새 탭에서 URL로 이동 driver.get(product_url) time.sleep(1) wait = WebDriverWait(driver, 10) wait.until(EC.presence_of_element_located((By.XPATH, '//h2[contains(text(), "상품 설명")]'))) # 상품 설명 영역의 시작점 찾기 start_element = WebDriverWait(driver, 10).until( EC.presence_o..

openpyxl 엑셀에 특정열이 없는 경우 오른쪽으로 하나씩 추가하는 코드

def add_columns_if_missing(file_path, column_names): # 엑셀 파일 열기 workbook = openpyxl.load_workbook(file_path) sheet = workbook.active # 헤더로 사용될 첫 번째 행에서 모든 컬럼 이름 가져오기 headers = [cell.value for cell in sheet[1]] # 1행의 모든 셀 값을 리스트로 저장 # 현재 헤더에 몇 개의 컬럼이 있는지 확인 current_max_column = len(headers) print("current_max_column", current_max_column) # 주어진 컬럼 이름들 중 누락된 것이 있는지 확인하고 추가 for column_name in column..

python 코드로 pnu(필지고유번호) 번호 만드는 방법

import re def generate_fjgyno(address, admin_code, is_mountain=False): # 필지구분 (산인 경우 2, 일반인 경우 1) parcel_type = "2" if is_mountain else "1" # 정규식 패턴을 사용하여 본번과 부번 추출 pattern = r"(\d+)(?:-(\d+))?" # 숫자-숫자 패턴 (부번은 옵셔널) match = re.search(pattern, address) if match: bonbun = match.group(1).zfill(4) # 본번 (4자리로 패딩) bunbun = match.group(2).zfill(4) if match.group(2) else "0000" # 부번 (부번이 없는 경우 0000) els..

Pyqt5, PySide6 년도 선택 위젯 만들기

현재년도를 기준으로 과거 5년, 미래 5년에 대한 10개 콤보박스를 구현해보았다. self.year_select_combobox = QComboBox() current_year = datetime.now().year past_years = [str(current_year - i) for i in range(5, 0, -1)] future_years = [str(current_year + i) for i in range(1, 6)] year_list = past_years + [str(current_year)] + future_years self.year_select_combobox.addItems(year_list) self.year_select_combobox.setCurrentText(str(date..

selenium element에서 가장 가까운 부모중 특정 태그(tr) 찾기

xpath를 이용해서 검색 가능한 키워드중 "ancestor"를 활용하면 부모들을 대상으로 검색대상을 지정할 수 있다. remove_target = driver.find_element(By.XPATH, '//tr[./td[4]//span[text()="품절"]]//td[12]//i') target_tr = remove_target.find_element(By.XPATH, ".//ancestor::tr") target_order_code = target_tr.find_element(By.CSS_SELECTOR, "td:nth-child(1)").get_attribute( "textContent" ) 위의 코드는 remove_target의 부모들 중 가장 가까운 tr 태그를 찾는 함수이다.