pyautogui로 마우스와 키보드를 제어해서 자동 설문지 응답 프로그램 코드를 만들어보겠습니다. 구글 계정의 문서에 들어가서 설문지를 만들어줍니다.
자동 설문지 응답 프로그램
import pyautogui as pyau
import time
import pyperclip as pype
import random
url="https://forms.gle/h1hzgSsAi8S48fR87"
### 크롬열기
pyau.hotkey("win","r")
time.sleep(0.5)
pyau.typewrite("chrome")
time.sleep(0.5)
pyau.press("enter")
time.sleep(0.5)
pype.copy(url)
pyau.hotkey("ctrl","v")
pyau.press("enter")
time.sleep(1)
### 5번반복
number=0
while number<5:
time.sleep(0.5)
pyau.press("tab")
pyau.press("tab")
pyau.press("tab")
time.sleep(0.5)
### 첫번째 설문지
count=random.randint(1,10)
for a in range(count):
pyau.press("down")
### 탭키를 눌러서 다음으로 넘어감
time.sleep(0.5)
pyau.press("tab")
time.sleep(0.5)
### 두번째 설문지
count=random.randint(1,10)
for a in range(count):
pyau.press("down")
### 탭키를 눌러서 다음으로
time.sleep(0.5)
pyau.press("tab")
time.sleep(0.5)
pyau.press("enter")
time.sleep(1)
pyau.press("tab")
time.sleep(0.5)
pyau.press("enter")
time.sleep(1)
### 1번할때마다 number추가
number+=1
pyautogui, time, pyperclip, random 패키지를 불러왔습니다. url="주소" 주소 부분에 설문지 url을 입력합니다. hotkey("win","r") 키워드를 사용해서 실행창을 띄우고 typewrite, press 키워드를 써서 크롬을 실행시킵니다. 영어가 입력 안 되는 경우가 생길 수도 있으니 copy키워드로 url을 복사해줍니다. pyau.hotkey("ctrl","v") 키워드로 붙여넣기를 한 뒤, pyau.press("enter") 키워드로 엔터를 누릅니다. 중간중간 time.sleep() 키워드를 써서 속도를 조절해줍니다. 속도가 너무 빠르면 제대로 실행 안될 수도 있습니다.
크롬까지 실행했다면 반복문을 사용해서 설문지 응답을 반복합니다. number=0변수를 만들어서 횟수를 정합니다. while number < 5:를 작성해서 5번을 반복합니다. tab키를 3번 누르면 첫 번째 설문지로 이동하고, random의 randint함수를 사용해서 횟수를 정해줍니다. 횟수를 정했다면 for문을 이용해서 아래로 몇 번 반복한다는 코드를 작성합니다. 아래로 내려온 뒤 탭키를 누르면 다음 문제로 넘어갑니다. 다음 문제에서 또 for문을 사용해서 반복하고 탭키를 눌러서 다음으로 갑니다. 문제는 2개뿐이라서 탭키를 누르면 제출 버튼에 갑니다. 엔터를 누르면 제출이 되고, 제출된 페이지에서 다시 탭키를 누르면 다른 응답 제출 버튼으로 가고 거기서 다시 엔터 버튼을 누릅니다. 그러면 설문지 첫 페이지에 오게 됩니다. 1번 반복할 때마다 number+1을 해줘서 number숫자가 5보다 작을 때만 반복합니다. 또한 time.sleep() 키워드를 써서 중간중간 속도를 조절합니다.
'파이썬' 카테고리의 다른 글
파이썬으로 드론 조종하기 (함수사용법) (0) | 2022.07.27 |
---|---|
파이썬으로 드론 조종하기 (기본설정) (0) | 2022.07.26 |
파이썬 pyautogui 패키지 사용법 (0) | 2022.07.23 |
파이썬 공부하기 기초부터 시작 (재귀함수) (0) | 2022.07.22 |
파이썬 turtle 패키지로 그림그리기 코드 작성 (색상,반복) (0) | 2022.07.21 |
댓글