Python 小社-10
pyautogui & turtle
真正的最後一堂課
因為課表沒排到這所以我就教我會的東西
我從去年開始準備的簡報
autogui
模擬你的滑鼠和鍵盤操作
比起之前教的selenium更加貼近人操作
可以把他想成python的按鍵精靈
先下載pyautogui
pip install pyautogui設定
import pyautogui
pyautogui.PAUSE = 1 #每次呼叫後等待1秒
pyautogui.FAILSAFE = True #如果把滑鼠移到左上角會錯誤先設定間格時間和預防錯誤
基本操作
import pyautogui
pyautogui.PAUSE = 1
pyautogui.FAILSAFE = True
print(pyautogui.size()) #你的螢幕的x y範圍
print(pyautogui.position()) #你現在滑鼠的位置
print(pyautogui.onScreen(x, y)) #檢查x y是否在範圍內這些操作使用時會不斷重複 要記好
移動滑鼠
import pyautogui
pyautogui.PAUSE = 1
pyautogui.FAILSAFE = True
pyautogui.moveTo(x, y, duration = 1) #移動到絕對位置
pyautogui.moveRel(x, y, duration = 1) #相對現在的位置移動duration指的是你的滑鼠移過去的時間
不設定就是直接飛過去(Mac不行)
(0, 0)
(0, 240)
(300, 240)
X正方向往右 Y正方向往下
點擊
import pyautogui
pyautogui.PAUSE = 1
pyautogui.FAILSAFE = True
pyautogui.click(x = 1828, y = 52, duration = 1,clicks = 1, interval = 0, button='left')clicks是點幾下 interval是點擊間隔
button可以是 left right middle三種
如果你在vscode執行這段程式碼會無限迴圈
如果你很懶的話
import pyautogui
pyautogui.PAUSE = 1
pyautogui.FAILSAFE = True
pyautogui.rightClick(x=2473, y=51)
pyautogui.middleClick(x=2473, y=51)
pyautogui.doubleClick(x=2473, y=51)
pyautogui.tripleClick(x=2473, y=51)滾動
import pyautogui
pyautogui.PAUSE = 1
pyautogui.FAILSAFE = True
pyautogui.scroll(999)括弧裡放滾動的大小
>0往上
<0往下
如果你想一直按著滑鼠
import pyautogui
pyautogui.PAUSE = 1
pyautogui.FAILSAFE = True
pyautogui.mouseDown(x=0, y=0, button='left')
pyautogui.mouseUp(x=960, y=720, button='left')記得mouseUp
按鍵盤
import pyautogui
pyautogui.PAUSE = 1
pyautogui.FAILSAFE = True
pyautogui.typewrite('Hello world!\n', interval = 1)也可以傳串列
import pyautogui
pyautogui.PAUSE = 1
pyautogui.FAILSAFE = True
pyautogui.typewrite(['a', 'b', 'c', 'left', 'backspace', 'enter', 'f1'], interval = 1)看所有的按鍵名稱
import pyautogui
pyautogui.PAUSE = 1
pyautogui.FAILSAFE = True
print(pyautogui.KEYBOARD_KEYS)一次按兩個鍵
import pyautogui
pyautogui.PAUSE = 1
pyautogui.FAILSAFE = True
pyautogui.hotkey('ctrl', 'c')
pyautogui.hotkey('ctrl', 'v')按著某個鍵
import pyautogui
pyautogui.PAUSE = 1
pyautogui.FAILSAFE = True
pyautogui.keyDown('ctrl')
pyautogui.keyUp('ctrl')alert
import pyautogui
pyautogui.PAUSE = 1
pyautogui.FAILSAFE = True
pyautogui.alert(text = '大哥哥不要戳那邊QAQ', title = 'FBI警告', button = 'OK')會跳出一個只有一個選項的對話框
confirm
import pyautogui
pyautogui.PAUSE = 1
pyautogui.FAILSAFE = True
pyautogui.confirm(text = '大哥哥不要戳那邊QAQ', title = 'FBI警告', buttons = ['OK', 'No'])選項==buttons後面的串列
prompt
import pyautogui
pyautogui.PAUSE = 1
pyautogui.FAILSAFE = True
pyautogui.prompt(text = '大哥哥不要戳那邊QAQ', title = 'FBI警告', default = '好色喔')預設的字串==default
按取消就會回傳None
password
import pyautogui
pyautogui.PAUSE = 1
pyautogui.FAILSAFE = True
pyautogui.password(text = '大哥哥不要戳那邊QAQ', title = 'FBI警告', default = '好色喔', mask = '@')promt但是會用你設定的字元把輸入擋住
turtle
import turtle移動筆
from turtle import *
forward(100)
backward(100)
forward==fd
backward==bk==back
轉向
from turtle import *
right(120)
left(1000)括弧裡放的是角度
left==lt==逆時針
right==rt==順時針
轉向
from turtle import *
setheading(90)直接轉到指定角度
檢查角度
from turtle import *
heading()移動到指定位置
from turtle import *
goto(x, y)改顏色
from turtle import *
color('blue')
color('red')回原位
from turtle import *
home()
跑出範圍的時候很好用
位置
from turtle import *
pos()home在(0, 0)
座標跟autogui一樣
清空
from turtle import *
clearscreen()塗顏色
from turtle import *
begin_fill()
end_fill()兩個函式中間放你要畫的圖形
速度
from turtle import *
speed(100)放最前面就好
角度顯示
from turtle import *
degrees() #360一圈
radians() #2pi一圈提筆
from turtle import *
pendown()下筆
from turtle import *
penup()寬度
from turtle import *
width(100)結束後不自動關閉
from turtle import *
exitionclick()下課 各位新年快樂
Python 小社-10
By ck1110793
Python 小社-10
- 291