묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[2024 개정판] 이것이 진짜 엑셀자동화다 - 기본편
사이트 접속 후 로그인 버튼 클릭 시 문제점
파이썬 입문자로서 강의 잘 듣고 있습니다!해당 강의 중 잘 안되는 게 있어서 문의 드립니다. 해당 사이트에 접속 후 로그인 버튼을 눌러야 하는 데 클릭을 안해서 time.sleep(3)을 했는데도 제대로 작동을 안하는데 잘못된 것이 있을까요?
-
미해결[2024 개정판] 이것이 진짜 엑셀자동화다 - 기본편
엑셀 파일 제목 중복되면 (1),(2) 씩 늘어나게 해서 생성하게 하기
파일이 중복되면 다시 지웠다가 파이썬을 실행시켜야 하는데 그걸 막기 위해 코드 추가했습니다.import openpyxl import random import os from datetime import datetime, timedelta wb = openpyxl.Workbook() ws = wb.active base_path = '파일이 있는 폴더 경로 ex)c://user' base_filename = '파일명.xlsx' full_path = os.path.join(base_path, base_filename) # 파일명이 겹치면 숫자를 붙여가며 저장 if os.path.exists(full_path): version = 1 while os.path.exists(full_path): name, ext = os.path.splitext(base_filename) full_path = os.path.join(base_path, f"{name} ({version}){ext}") version += 1 ws.title = 'automation' item = [['32인치 모니터', 350000], ['마우스 패드', 20000],['게이밍 마우스', 40000], ['기계식 키보드',120000]] # ws['A1'] = '순번' # ws['B1'] = '제품명' # ws['C1'] = '가격' # ws['D1'] = '수량' # ws['E1'] = '합계' # ws['F1'] = '날짜' ws.append(['순번','제품명','가격','수량','합계','날짜']) first_date = datetime(2024, 3, 1) for i in range(2, 12): current_date = first_date + timedelta(i) rand_ind = random.randint(0,3) selected_item = item[rand_ind] ws.append([i-1, selected_item[0], selected_item[1], random.randint(1,8), f'=C{i}*D{i}', current_date.strftime('%Y-%m-%d')]) # strftime으로 나타내야 엑셀에서 날짜형식으로 뜬다. wb.save(full_path)
-
미해결[2024 개정판] 이것이 진짜 엑셀자동화다 - 기본편
엑셀 다루기 기초에서 날짜 1일씩 늘어나게 하기
from datetime import datetime, timedelta import openpyxl # 날짜 시작 start_date = datetime(2030, 1, 1) # 데이터 추가(2) ws.cell(row=2, column=1, value= start_date.strftime('%Y-%m-%d')) ws.cell(row=2, column=2, value = 20000) ws.cell(row=2, column=3, value='삼성tv') ws.cell(row=2, column=4, value = 4) ws.cell(row=2, column=5, value='=B2*D2') for i in range(3,7): current_date = start_date + timedelta(days=i-2) ws.cell(row = i, column = 1, value = current_date.strftime('%Y-%m-%d')) 엑셀 다루기 기초 - openpyxl 수업에서 데이터 추가할 때,3번재 행 셀부터 날짜가 1일씩 늘어나게 작성해 보았습니다.
-
미해결[2024 개정판] 이것이 진짜 엑셀자동화다 - 기본편
크롬창이 자꾸 꺼져요!!
from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.chrome.service import Service from selenium.webdriver.chrome.options import Options from webdriver_manager.chrome import ChromeDriverManager chrome_options = Options() chrome_options.add_experimental_option("detach", True) service = Service(executable_path=ChromeDriverManager().install()) webdriver.Chrome(service=service, options=chrome_options) chrome_options.add_experimental_option("excludeSwitches",["enable-logging"]) driver = webdriver.Chrome() driver.get('https://nid.naver.com/nidlogin.login?svctype=262144') driver.maximize_window() id = driver.find_element(By.CSS_SELECTOR, "#id") id.send_keys("제 네이버 아이디 입니당")ㅜㅜ자꾸 크롬창이 꺼지는데 어떻게 해야할까요 좋은 강의 항상 감사합니다! ;)
-
미해결[2024 개정판] 이것이 진짜 엑셀자동화다 - 기본편
mouseInfo
import pyautogui pyautogui.mouseInfo() 이렇게 해서 실행하면터미널에 This probably means that Tcl wasn't installed properly.계속 이렇게만 뜹니다ㅜㅜ뭐가 문제인걸ㄲㅏ요?좋은 강의 감사합니다! 😃
-
해결됨[2024 개정판] 이것이 진짜 엑셀자동화다 - 기본편
네이버 메일 자동화 실습 문의
안녕하세요 네이버 메일 자동화 코드를 실행하면 메일 쓰기 버튼을 계속 찾지 못하고 있어 어떻게 수정하면 될지 문의드립니다.메일함 이동까지는 정상적으로 되고 있으나 메일 쓰기 버튼만 찾지 못하고 있습니다. 코드는 다음과 같습니다.from selenium.webdriver import ChromeOptions from selenium import webdriver from selenium.webdriver.chrome.service import Service as ChromeService from webdriver_manager.chrome import ChromeDriverManager from selenium.webdriver.common.by import By import time import pyperclip import pyautogui from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC options = ChromeOptions() options.add_experimental_option("detach", True) driver = webdriver.Chrome(service=ChromeService(ChromeDriverManager().install()), options=options) driver.get('https://nid.naver.com/nidlogin.login?mode=form&url=https://www.naver.com/') driver.maximize_window() # 화면 최대화 # 아이디 입력창 id = driver.find_element(By.CSS_SELECTOR, '#id') id.click() pyperclip.copy('eooe5173') pyautogui.hotkey('ctrl', 'v') time.sleep(2) # 비밀번호 입력창 passward = driver.find_element(By.CSS_SELECTOR, '#pw') passward.click() pyperclip.copy('ssw471395~') pyautogui.hotkey('ctrl', 'v') time.sleep(2) # 로그인 버튼 driver.find_element(By.CSS_SELECTOR, '#log\.login').click() time.sleep(5) # 메일함으로 이동 mailbox = driver.find_element(By.CSS_SELECTOR,'#shortcutArea > ul > li:nth-child(1) > a').click() time.sleep(5) # 내게 쓰기 버튼 writeme_button =driver.find_element(By.CSS_SELECTOR, '#root > div > nav > div > div.lnb_header > div.lnb_task > a.item.button_write').click() # 메일 제목 입력창 및 입력 mailname = driver.find_element(By.CSS_SELECTOR, '#subject_title').click() pyperclip.copy('안녕하세요') pyautogui.hotkey('ctrl', 'v') time.sleep(5) # 메일 내용 입력창 및 입력 mailinfo = driver.find_element(By.CSS_SELECTOR, '#body > div > div.workseditor-content').click() pyperclip.copy('네이버 메일 자동화입니다.') pyautogui.hotkey('ctrl', 'v') time.sleep(5) # 메일 저장 mailsave = driver.find_element(By.CSS_SELECTOR, '#content > div.mail_toolbar.type_write > div:nth-child(1) > div > button.button_write_task').click() time.sleep(5)에러는 동일하게 다음과 같이 노출되고 있습니다.selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"css selector","selector":"#root > div > nav > div > div.lnb_header > div.lnb_task > a.item.button_write"} (Session info: chrome=123.0.6312.123)Stacktrace: GetHandleVerifier [0x00D14CA3+225091] (No symbol) [0x00C44DF1] (No symbol) [0x00AE9A7A] (No symbol) [0x00B2175B] (No symbol) [0x00B2188B] (No symbol) [0x00B57882] (No symbol) [0x00B3F5A4] (No symbol) [0x00B55CB0] (No symbol) [0x00B3F2F6] (No symbol) [0x00B179B9] (No symbol) [0x00B1879D] sqlite3_dbdata_init [0x01189A43+4064547] sqlite3_dbdata_init [0x0119104A+4094762] sqlite3_dbdata_init [0x0118B948+4072488] sqlite3_dbdata_init [0x00E8C9A9+930953] (No symbol) [0x00C507C4] (No symbol) [0x00C4ACE8] (No symbol) [0x00C4AE11] (No symbol) [0x00C3CA80] BaseThreadInitThunk [0x764EFCC9+25] RtlGetAppContainerNamedObjectPath [0x77DE7C5E+286] RtlGetAppContainerNamedObjectPath [0x77DE7C2E+238]
-
미해결[2024 개정판] 이것이 진짜 엑셀자동화다 - 기본편
pip명령이 vscode 명령프롬프트에서만 않되네요
그냥 명령프롬프트 띄우면 잘되는데vscode의 터미널 명령프롬프트에서만 안되네요 vs내에 인터프리트 경로까지 잡아줬는데도 안되요 'pip'은(는) 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는배치 파일이 아닙니다. 라고 뜹니다 왜일까요?
-
미해결[2024 개정판] 이것이 진짜 엑셀자동화다 - 기본편
매출데이터 생성 price 오류
강사님 안녕하세요 :)강의 코드와 똑같이 작성하였는데 if문에서 price가 정의되지않았다고 뜨면서 실행이안되는데 .. 혹시 이유를 알 수 있을까요?
-
미해결[2024 개정판] 이것이 진짜 엑셀자동화다 - 기본편
네이버 자동화 실습 관련 질의
Copy Selector를 이용하여 받는사람 구역의 Selector를 복사해서 가져왔으나 코드 실행 중 에러가 발생합니다. no such element라는 것으로 보아 Selector를 못받는거 같은데 어떻게 해야될까요?driver.find_element(By.CSS_SELECTOR,"#recipient_input_element").send_keys("xxxx@naver.com") time.sleep(0.5)Traceback (most recent call last):File "c:\Excel\02. 데스크탑 자동화\2.네이버 로그인 자동화.py", line 44, in <module>driver.find_element(By.CSS_SELECTOR,"#recipient_input_element").send_keys("xxxx@naver.com")^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^File "C:\Users\thkim\AppData\Local\Programs\Python\Python312\Lib\site-packages\selenium\webdriver\remote\webdriver.py", line 742, in find_elementreturn self.execute(Command.FIND_ELEMENT, {"using": by, "value": value})["value"]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^File "C:\Users\thkim\AppData\Local\Programs\Python\Python312\Lib\site-packages\selenium\webdriver\remote\webdriver.py", line 348, in executeself.error_handler.check_response(response)File "C:\Users\thkim\AppData\Local\Programs\Python\Python312\Lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 229, in check_responseraise exception_class(message, screen, stacktrace)selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"css selector","selector":"#recipient_input_element"}(Session info: chrome=120.0.6099.217); For documentation on this error, please visit: https://www.selenium.dev/documentation/webdriver/troubleshooting/errors#no-such-element-exceptionStacktrace:GetHandleVerifier [0x00007FF675932142+3514994](No symbol) [0x00007FF675550CE2](No symbol) [0x00007FF6753F76AA](No symbol) [0x00007FF675441860](No symbol) [0x00007FF67544197C](No symbol) [0x00007FF675484EE7](No symbol) [0x00007FF67546602F](No symbol) [0x00007FF6754828F6](No symbol) [0x00007FF675465D93](No symbol) [0x00007FF675434BDC](No symbol) [0x00007FF675435C64]GetHandleVerifier [0x00007FF67595E16B+3695259]GetHandleVerifier [0x00007FF6759B6737+4057191]GetHandleVerifier [0x00007FF6759AE4E3+4023827]GetHandleVerifier [0x00007FF6756804F9+689705](No symbol) [0x00007FF67555C048](No symbol) [0x00007FF675558044](No symbol) [0x00007FF6755581C9](No symbol) [0x00007FF6755488C4]BaseThreadInitThunk [0x00007FFA3FB2257D+29]RtlUserThreadStart [0x00007FFA40FEAA58+40]
-
해결됨[2024 개정판] 이것이 진짜 엑셀자동화다 - 기본편
pyautogui.center(pyautogui.locateOnScreen('wmp.PNG', grayscale=True, confidence=0.7)) 좌표 이상
안녕하세요! 강의를 듣고 필요에 의해 윈도우 미디어 플레이어 자동화를 목표로 프로그래밍 중에 있습니다 근데 제 pc에서는 동작이 잘 되는데 꼭 다른 pc에서 프로그램을 실행시키면 프로그램이 정상 작동되질 않습니다. wmp.png는 윈도우 미디어 플레이어 아이콘 이미지입니다. 구현한 기능은 작업 표시줄에 있는 윈도우 미디어 플레이어 아이콘을 찾아 좌표를 반환하고 클릭해서 창을 활성화시키고 영상을 자동 실행시키는 기능을 목적으로 하고 있는데 제 pc에서는 아이콘을 문제없이 찾아내고 그 외 기능들도 잘 작동합니다. 그런데 다른 pc에서는 계속 작업 표시줄에 있는 윈도우 미디어 플레이어의 좌표가 아닌 다른 값이 반환되는 상황입니다. 진짜 말도 안 되는 이상한 위치에 좌표가 반환됩니다...일단 급한 대로 해당 모니터 사이즈 및 좌표를 구해서 moveTo 함수를 통해 당장 사용할 수 있게 만들어 두기는 했습니다만 왜 이미지 인식이 안되는지 모르겠습니다 진짜 몇 날 며칠을 구글링 하고 혹시나 해서 네이버에서도 검색해 보고 하면서 문제를 해결해 보려고 하는데 해결이 되지 않아서 혹시나 하는 마음에 질문드려 봅니다. 강사님 강의 덕분에 정말 많은 것을 알게 되어서 이렇게 필요한 자동화 프로그램 개발에 도전하고 있습니다. 정말 감사합니다..! 조금 있으면 새해인데 새해 복 많이 받으세요!
-
해결됨[2024 개정판] 이것이 진짜 엑셀자동화다 - 기본편
블로그에 강의 코드를 정리해서 올려도 괜찮을까요??
강사님 안녕하십니까 좋은 강의 잘 듣고 있는 수강생입니다!!오픈소스 느낌으로 강의 내용 코드를 블로그에 올려도 괜찮은지 여쭙고 싶어서 문의 드립니다 ㅎㅎ괜찮으시다면 블로그에 코드를 공개해도 괜찮을까요??
-
미해결파이썬 무료 강의 (활용편4) - 업무자동화 (RPA)
시트 이름 지정하려는데 title 명령이 안 먹혀요
기본 명령어인 것 같은데 어째서 title만 어트리뷰트가 없다고 에러 뜰까요? 프로그램을 껐다 켜봐도 이렇습니다..파이선 3.8.6 버전 쓰고 있고 비주얼 스튜디오 코드는 1.83.1 버전 쓰고 있는 것 같네요
-
미해결[2024 개정판] 이것이 진짜 엑셀자동화다 - 기본편
Chrome version 116, Selenium version 4.11.2 이후
프로그램 실행을 눌렀더니, 아예 에러메세지 조차 뜨지 않고 아무 응답이 없습니다. Stackoverflow등 구글링을 해봐도 제대로 된 해결책을 찾을 수 없었습니다.
-
해결됨[2024 개정판] 이것이 진짜 엑셀자동화다 - 기본편
python upgrade 후 selenium 인식 불가
python 2.7에서 3.11.5로 업그레이드 후 selenium을 인식하지 못합니다. 방법이 있을까요
-
미해결[2024 개정판] 이것이 진짜 엑셀자동화다 - 기본편
크롬드라이브 실행 오류
AttributeError: 'str' object has no attribute 'capabilities'주요 에러는 이렇게 뜨는데.. 구글링을 해보긴 했는데 어떻게 해결을 해야될지 모르겠습니다ㅠ혹시 도움을 구할 수 있을까요?
-
미해결[2024 개정판] 이것이 진짜 엑셀자동화다 - 기본편
오프라인 pip설치문의
좋은강의 감사드립니다. 덕분에 파이참설치했다가 Vscode로 갈아탔습니다.다만 인터넷이 안되는 회사PC에서 업무자동화를 구현하려고 다양한 방법으로pip install pyautogui를 설치하려고 해보았는데요pip install pyautogui 를 실행하면 아래(이미지1)같이 뜨구요(아마 인터넷안되서 그런거아닌가 싶습니다만) 이미지1) 그래서 인터넷되는 피씨에서 pip install pyautogui 실행후 whl를 다운받아서 복사를 해놔도import pyautogui가 실행이 되지는 않았구요아래(이미지2)처럼 압축파일을 실행해도 작동하지는 않습니다.이미지2 아래(이미지3)처럼 pip install 압축파일 을 실행해도 안되었습니다.이미지2)인터넷이 안되는곳에서 설치를 불가능한 것일까요?
-
미해결[2024 개정판] 이것이 진짜 엑셀자동화다 - 기본편
팝업 설명창?
안녕하세요!! 강의 잘 듣고 있습니다 :)다름이 아니라 강의에서는 저렇게 . 찍고나서 팝업창이 뜨는데저는 저 title 칠때 뜨질 않거든요,,,뜨게 하고싶은데 어떻게 할 수 있을까요??기본내장 함수? 사용할땐 뜨는데...강의에선 저 .title 하면 인식되어서 하늘색 으로 변하는데openpyxl에서 .찍고 나오는 명령어는 다 뜨질 않네요ㅠws.save , ws.append , ws.iter_rows 라든지 그런거요 ㅠ저는 그대로 흰색으로 되거든요, 물론 작성 후 실행은 되는데, 작성 중에 팝업창 뜨는게 초보자한텐 도움이 되니까 뜨게 하고 싶습니다!감사합니다!
-
미해결[2024 개정판] 이것이 진짜 엑셀자동화다 - 기본편
셀레니움 기초 사용법
6분20초쯤 설명해주시는 웹브라우저로 이동시키는거 하고 있는데요.주소를 입력한 웹사이트가 나타났다가 다시 사라집니다. 왜 그런 걸까요?
-
미해결[2024 개정판] 이것이 진짜 엑셀자동화다 - 기본편
키보드 자동화_소문자 ko 입력 안되는 이유 질문 드려요
회사 계정에 자동 로그인하는걸 해보고 싶어서 키보드 자동화 #키보드 입력(문자)pyautogui.write('kosa') 이렇게 입력하고 실행버튼 눌렀더니, ko를 제외하고 입력이 됩니다.ko가 Vscode 안에서 단축키로 되어있는지 한국어 설정이 눌려지는 것 같은데, 어떻게 해야할까요?
-
미해결[2024 개정판] 이것이 진짜 엑셀자동화다 - 기본편
TypeError: 'module' object is not callable 이런 오류가 뜹니다
강의 그대로 따라서 진행중인데, 저런 에러코드가 뜨면서 크롬 새창이 열리지 않아요 ㅜㅜ 어떻게 해결해야할까요?