inflearn logo
강의

Course

Instructor

[New Revised Edition] This is Real Crawling - Basic Course

macOS 에서 pyautogui.hotkey("command", "v") 로 하는거 맞는지요?

3834

HLY

4 asked

1

안녕하세요.

좋은 강의 잘 보고 있습니다.

다름이 아니라 강의 내용중 자동입력방지 차단을 우회 하고자 pyautogui.hotkey("ctrl", "v") 코드로 입력한다고 하셔서 저는 macOS 사용자라 pyautogui.hotkey("command", "v") 로 해서 만들었습니다.

그런데 코드를 실행시 크롬브라우저가 실행되고 ID/Password 입력하는게 진행이 안됩니다.

제 생각으로 command 가 아니고 다른게 들어가야 하는거 아닐지 문의 드립니다.

 

macos pyautogui.hotkey 웹-크롤링 python

Answer 2

1

startcoding

맥에서 마우스/키보드 조작 권한 설정이 안되어 있는 것 같습니다.

저는 "Pyautogui mac not working" 라는 키워드로 검색해서 

아래 사이트에서 힌트를 얻었습니다.

 

1. https://stackoverflow.com/questions/62035751/pyautogui-not-running-on-mac-catalina

2. https://github.com/asweigart/pyautogui/issues/247

 

 

Not a pyautogui user, but on Mojave, there's a new security feature where you must explicitly allow applications to use your mouse/keyboard. Have a look in Security Preferences > Security & Privacy > Privacy > Accessibility - you might have to allow your terminal application in the list.

 

 

이 부분 을 참고해서 권한 설정을 부여해 보시기 바랍니다 ^^ 

1

HLY

아... 정말 고맙습니다. 너무너무 감사합니다.

덕분에 잘 해결되었습니다.

해결한 내용은 아래와 같습니다.

시스템환경설정 -> 보안및개인정보보호 -> 손쉬운사용 -> 개인정보보호 

여기서 '터미널' 과 'Visual Studio Code' 를 추가하였습니다.

0

startcoding

수고하셨습니다 ^^

1

startcoding

안녕하세요.

코딩을 가장 쉽게 알려주는 크리에이터, 스타트코딩입니다.

 

pyautogui hotkey 함수가 특정 mac에서 제대로 동작하지 않는 것 같습니다.

(제 맥북에서는 잘 동작합니다)

라이브러리의 이슈로 생각됩니다.

 

hotkey대신에 keyDown -> press -> keyUp 으로 구현해 보세요 ^^

 

hotkey('command', 'v')

 

keyDown('command')

press('v')

keyUp('command')

0

HLY

안녕하세요. 답변 주셔서 감사합니다.

말씀하신데로 keyDown -> press -> keyUp 방법으로 구현을 해봤지만 동일하게 화면에 입력이 안되는것처럼 보이네요.

아래 전체 소스 보내드립니다. 많이 바쁘시겠지만 검토 요청 드립니다.

(비밀 번호는 제가 임시 비밀번호로 변경했습니다.)

 

from optparse import Option
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.common.by import By

 

# 크롬 드라이버 자동 업데이트
from webdriver_manager.chrome import ChromeDriverManager

 

import time
import pyautogui
import pyperclip

 

# 브라우저 꺼짐 방지
chrome_options = Options()
chrome_options.add_experimental_option("detach", True)

 

# 불필요한 에러 메시지 없애기
chrome_options.add_experimental_option("excludeSwitches", ["enable-logging"])

 

service = Service(executable_path=ChromeDriverManager().install())
driver = webdriver.Chrome(service=service, options=chrome_options)

 

# 웹페이지 해당 주소 이동
driver.implicitly_wait(5) # 웹페이지가 로딩 될때까지 5초는 기다림
driver.maximize_window() # 화면 최대화

 

driver.get("https://nid.naver.com/nidlogin.login?mode=form&url=https%3A%2F%2Fwww.naver.com")

 

# 아이디 입력창 찾기
id = driver.find_element(By.CSS_SELECTOR, "#id")
id.click()
# id.send_keys("yuheewon01")
pyperclip.copy("yuheewon01")
pyautogui.keyDown("command")
pyautogui.press("v")
pyautogui.keyUp("command")
time.sleep(2)

 

# 아이디 입력창 찾기
pw = driver.find_element(By.CSS_SELECTOR, "#pw")
pw.click()
# pw.send_keys("test00!!")
pyperclip.copy("test00!!")
pyautogui.keyDown('command')
pyautogui.press('v')
pyautogui.keyUp('command')
time.sleep(2)

 

# 로그인 버튼
login_btn = driver.find_element(By.CSS_SELECTOR, "#log\.login")
login_btn.click()

 

 

 

 

Live server 를 이용 해보고 싶은데 확장메뉴 설치가 막혀 있어요

0

62

2

'팀 단위 AI 업무 혁신' 자문 관련하여 문의드리고자 합니다. (연락처 요청)

0

38

1

import requests from bs4 import BeatifulSoup 이 단계에서 안 되네요

0

75

2

requests 관련 질문

1

136

2

설치 관련

0

130

2

vs code 결과출력이 안됩니다

0

143

1

크롤링 관련 질문입니다

0

208

2

word wrap 체크 후에도 콘솔 한줄로 출력되는현상

0

190

1

주피터에서 pip오류가 계속납니다

0

1081

3

강의 "requests, Beautifulsoup4 사용법 빠르게 알아보기"에서 질문이있습니다.

0

170

2

네이버쇼핑 검색창 넘어가기전 팝업창이 안사라져요

0

364

1

html주소를 다른 컴터에서도 접속하기

0

241

2

pandas 설치하는데 오류가 나서요

0

2699

1

실행오류

0

213

1

네이버쇼핑 무한스크롤 안되시는분들 모바일네이버로 실습해보세요

0

263

1

뉴스 페이지에 페이지 번호가 없는데 어떻게 가져오나요?

0

231

2

네이버 쇼핑에 팝업창이 뜨기 시작했어요 도와주세요 ㅠㅠ

0

719

3

셀레니움 실습 시 창이 자동 차단되면서 꺼집니다.

0

663

2

낮은 가격순을 클릭하는 문을 추가하고싶습니다.

0

303

2

pip는 내부 또는 외부명령 ,실행할 수 있는 프로그램

0

3380

2

이런오류는 어떤 오류인가요

0

657

1

창이 두개떠요/쇼핑검색도 안되요 ㅜ

0

332

2

약간 변태(?)같지만 해당 코드를 깔끔하게 함수로 리팩토링해보았습니다

0

335

2

과제 답안을 보지않고 스스로 구글링해서 만든 웹 크롤링 프로그램(10페이지 단위) 코드입니다.

0

751

2