안녕하세요 강사님 덕분에 그동안 무척 배우고 싶었던 크롤링과 데이터 수집 방법에 대해 많이 배우고 있어서 감사할 따름입니다. 다름이 아니라 네이버 자동화 로그인 과정에서 중복방지문자가 계속 나타나서 질문 드립니다. time.sleep으로 시간도 길게 했고, 시간을 충분히 가진 후(이틀 후)에도 시도했으나 계속해서 중복방지문자가 나타나서 질문드립니다. 혹시 이제 클립보드 복사 붙여넣기의 로그인 방법이 막힌건가요? 그리고 마지막으로 코드 전체를 합쳐서 실행했을 때 ElementClickInterceptedException, NoSuchElementException 오류가 계속 나타나 오류가 뜨는 대부분의 버튼에 명시적 대기를 걸어줬는데, 이렇게 코드를 한꺼번에 실행하려 했을 때는 대부분의 과정마다 모두 명시적 대기를 걸어줘야 하는지도 궁금합니다! user_id = "************" user_pw = "************" # 셀레니움 기본 템플릿 from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.common.keys import Keys import time import pyperclip import random # 크롬 드라이버 생성 driver = webdriver.Chrome() # 페이지 이동 driver.get("https://nid.naver.com/nidlogin.login?mode=form&url=https://www.naver.com/") random_sec = random.uniform(3, 5) # 아이디 입력 id = driver.find_element(By.CSS_SELECTOR, "#id") pyperclip.copy(user_id) id.send_keys(Keys.CONTROL, 'v') time.sleep(random_sec) # 비밀번호 입력 pw = driver.find_element(By.CSS_SELECTOR, "#pw") pyperclip.copy(user_pw) pw.send_keys(Keys.CONTROL, 'v') pw.send_keys(user_pw) time.sleep(random_sec) # 로그인 버튼 클릭 driver.find_element(By.CSS_SELECTOR, "#log\.login\.text").click() from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC driver.switch_to.window(driver.window_handles[0]) # 네이버 메인 페이지 이동 driver.get("https://www.naver.com") # 드롭다운 메뉴 클릭 driver.find_element(By.CSS_SELECTOR, "#account > div.MyView-module__my_menu___eF24q > div > div > ul > li:nth-child(1) > a > span.MyView-module__item_text___VTQQM").click() # driver.implicitly_wait(10) -> 암시적 대기는 요소가 나타날 때까지만 기다려주는 것일뿐, 클릭가능한상태까지 기다려주진않음 wait = WebDriverWait(driver, 5) # 메일함 버튼 클릭 # driver.find_element(By.CSS_SELECTOR, "#account > div.MyView-module__layer_menu_service___NqMyX > div.MyView-module__service_sub___wix9p > div.MyView-module__sub_left___AIWHR > a").click() # -> 이 코드에서 오류가 뜨는 이유는 드롭다운 메뉴가 나타나기도 전에 이 코드가 실행돼서 그럼 -> 명시적 대기를 걸어줘야 함 mail_button = wait.until(EC.element_to_be_clickable((By.CSS_SELECTOR, "#account > div.MyView-module__layer_menu_service___NqMyX > div.MyView-module__service_sub___wix9p > div.MyView-module__sub_left___AIWHR > a"))) # -> 요소를 찾아 클릭가능한 상태까지 최대 5초간 기다려줌 # mail_button.click() driver.execute_script("arguments[0].click();", mail_button) # 새창으로 전환 driver.switch_to.window(driver.window_handles[1]) # 메일쓰기 버튼 클릭 # driver.find_element(By.CSS_SELECTOR, "#root > div > nav > div > div.lnb_header > div.lnb_task > a.item.button_write").click() write_button = wait.until(EC.element_to_be_clickable((By.CSS_SELECTOR, "#root > div > nav > div > div.lnb_header > div.lnb_task > a.item.button_write"))) write_button.click() receiver = "wjddudtn1618@naver.com" # 받는사람 입력 # receiver_blank = driver.find_element(By.CSS_SELECTOR, "#recipient_input_element") # receiver_blank.click() receiver_blank = wait.until(EC.presence_of_element_located((By.CSS_SELECTOR, "#recipient_input_element"))) receiver_blank.click() receiver_blank.send_keys(receiver) # 제목 입력 title = "안녕" title_blank = driver.find_element(By.CSS_SELECTOR, "#subject_title") title_blank.click() title_blank.send_keys(title) # iframe으로 전환 iframe = driver.find_element(By.CSS_SELECTOR, "#content > div.contents_area > div > div.editor_area > div > div.editor_body > iframe") driver.switch_to.frame(iframe) body = "메일 자동화 프로그램 테스트하는 중인데, 메일 리스트에 너가 있길래 한번 보내봤어" body_blank = driver.find_element(By.CSS_SELECTOR, "body > div > div.workseditor-body > div.workseditor-content") body_blank.click() body_blank.send_keys(body) # 원래 페이지로 전환 driver.switch_to.default_content() # 메일 보내기 driver.find_element(By.CSS_SELECTOR, "#content > div.mail_toolbar.type_write > div:nth-child(1) > div > button.button_write_task").click() # driver.find_element(By.CSS_SELECTOR, "#layer > div > div > div > div.button_area > div.button_area_inner > button.button_send").click() confirm_send_button = wait.until(EC.element_to_be_clickable((By.CSS_SELECTOR, "#layer button.button_send"))) confirm_send_button.click()
어떤 강의에 대한 질문인지 자세하게 알려주시면 답변을 드리는데 도움이 됩니다. 스크린샷 윈도우키 + 쉬프트키 + S(윈도우) 을 자세히 첨부하시면 답변 드리는데 많은 도움이 됩니다. 동영상 재생 관련 같은 인프런 서비스 관련 문의는 1:1 문의하기를 이용해 주세요. 맥북으로 하고있는데 windows만 설명해주시니깐 시작부터 dock설치에서 막히네요. n8n클라우드로 하려고 했는데 이 강의는 dock설치가 필수라고 하고 Mac os로 dock는 어떻게 설치해야하나요? windows만 설명해주셔서 시작부터 막혀서 어떻게 해야할지 모르겠네요. 만약 Mac OS로 설명이 없다면 환불 가능할까요? 몇시간전에 구매했고 강의 구매하는데 Mac os설명은 없다는 얘기가 없어서요.
먼저 좋은 강의 해주셔서 감사의 말씀 올립니다!! 제가 첫 시도때 못 풀고 선생님 강의를 보고 그 다음날 다시 복습하는 과정에서 제 나름대로 로직을 찾아보고 테스트 케이스를 다 푼 코드를 만들었는데, 결과적으로 시간초과가 떴습니다. 그래서 선생님 코드랑 비교해봤는데, 제가 생각했을 때 어디서 차이가 나는지 모르겠어서 이렇게 질문남깁니다. 읽어주셔서 감사합니다!! http://boj.kr/c8fc36cc6e9844a88c4495c0a7e8f3a4
안녕하세요 캐글에 있는 타이타닉 문제풀이를 보면 훈련데이터를 훈련/검증으로 나누지 않고 훈련데이터 전부를 가지고 랜덤포레스트 학습을 시킨후에, 또 훈련데이터를 가지고 model.score를 평가하는데 훈련/검증안나누고 이렇게 해도되나요? 어떤풀이는 나누고 어떤풀이는 안나누니까 조금 혼동이 됩니다.
안녕하세요, 이전에 인프런 클론 강의를 완료하고 지금은 레일즈 입문 과정을 수강하고 있습니다. 그런데 인프런 강의때는 'kamal setup'이 정상적으로 완료되었는데 지금 테스트하고 있는 프로젝트에서 실행하니 잘 진행하다가 마지막에 다음과 같은 에러가 납니다. "ERROR (SSHKit::Command::Failed): Exception while executing on host 123.xxx.xxx.xxx: docker exit status: 1 docker stdout: Nothing written docker stderr: Error: target failed to become healthy within configured timeout (30s)" AI에 물어보고, Digital ocean에서 서버 모델도 바꿔보고 했는데 계속 같은 에러가 발생합니다. 답변 부탁드립니다. 감사합니다.
<Stack> <Stack.Screen name="(tabs)" options={{ headerShown: false }} /> <Stack.Screen name="modal" options={{ presentation: "modal", headerShown: false }} /> </Stack> 위와 같이 작업하면 탭을 누를 때마가 스택이 쌓이는게 아닌가요? 그러면 물리 백버튼을 눌렀을 때 탭 이동이 될 것 같아서요. 카카오를 예시를 보면 탭은 스택을 쌓지 않고 있어서 탭 이동을 아무리 해도 뒤로 가기를 누르면 탭 이동을 하고 있지 않네요.
wipe data 이후에 npm run android 를 실행하면 아래와 같은 오류가 발생합니다. CommandError: No development build (com.devparkoon.rntutorial) for this project is installed. Install a development build on the target device and try again. 강의 영상과 다르게 npm run android 를 실행했을 때 expo 를 다시 설치하는 과정이 없는데 어떤 문제일까요? 위 이슈를 해결하기 위해 eas build 를 다시 하면 되긴 합니다 (10분 넘게 다시 소요됨)