婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁(yè) > 知識(shí)庫(kù) > python使用pynput庫(kù)操作、監(jiān)控你的鼠標(biāo)和鍵盤

python使用pynput庫(kù)操作、監(jiān)控你的鼠標(biāo)和鍵盤

熱門標(biāo)簽:北京外呼電銷機(jī)器人招商 南京crm外呼系統(tǒng)排名 賓館能在百度地圖標(biāo)注嗎 400電話 申請(qǐng) 條件 汕頭電商外呼系統(tǒng)供應(yīng)商 crm電銷機(jī)器人 云南地圖標(biāo)注 電銷機(jī)器人 金倫通信 鄭州智能外呼系統(tǒng)中心

楔子

python是一門很神奇的語(yǔ)言,原因在于它有很多的庫(kù)可以實(shí)現(xiàn)各種意想不到的功能。當(dāng)然我們這次介紹的庫(kù)所實(shí)現(xiàn)的功能卻是已經(jīng)很常見(jiàn)了,就是操作、監(jiān)控你的鼠標(biāo)和鍵盤。如果你寫過(guò)游戲,那么即使不用下面即將介紹的庫(kù)也可以實(shí)現(xiàn)對(duì)鼠標(biāo)、鍵盤的操作以及監(jiān)控。

當(dāng)然我們下面介紹庫(kù):pynput,是專門針對(duì)鼠標(biāo)和鍵盤的,至于pygame、pyglet等游戲框架雖然也提供了鼠標(biāo)、鍵盤的監(jiān)控事件,但它們畢竟是用來(lái)開(kāi)發(fā)游戲的,還提供了創(chuàng)建窗口、圖形繪制、物體的碰撞檢測(cè)等等很多復(fù)雜的功能。如果只是單純的操作鼠標(biāo)和鍵盤,使用這種游戲框架有點(diǎn)小題大做了,下面我們就來(lái)看看這個(gè)名叫pynput的模塊吧,看看它的使用方法。

鼠標(biāo)

操作鼠標(biāo)

鼠標(biāo)無(wú)非就是"點(diǎn)擊按住不放"、"松開(kāi)"、"雙擊"(針對(duì)左右鍵),滑動(dòng)滾輪,移動(dòng)鼠標(biāo)等等,這些功能已經(jīng)基本上覆蓋百分之八九十的日常使用了。至于剩下的一小部分,可能就是打游戲用到的"側(cè)鍵",但是我們不介紹那么多,先來(lái)看看常用的吧。

from pynput.mouse import Button, Controller

# 實(shí)例化Controller得到一個(gè)可以操作鼠標(biāo)的對(duì)象
mouse = Controller()
# mouse.position: 獲取當(dāng)前鼠標(biāo)位置。
# 屏幕左上角坐標(biāo)為(0, 0) 右下角為(屏幕寬度, 屏幕高度)
print(f"當(dāng)前鼠標(biāo)位置: {mouse.position}") # 當(dāng)前鼠標(biāo)位置: (881, 467)

# 給mouse.position賦值等于移動(dòng)鼠標(biāo),這里相當(dāng)于移動(dòng)到(100, 100)的位置
# 如果坐標(biāo)小于0,那么等于0。如果超出屏幕范圍,那么等于最大范圍
mouse.position = (100, 100) # 此方法等價(jià)于mouse.move(100, 100)
print(f"當(dāng)前鼠標(biāo)位置: {mouse.position}") # 當(dāng)前鼠標(biāo)位置: (100, 100)


# 按下左鍵,同理Button.right是右鍵
mouse.press(Button.left)
# 松開(kāi)左鍵
mouse.release(Button.left)
# 上面兩行連在一起等于一次單擊。如果上面兩行緊接著再重復(fù)一次,那么整體會(huì)實(shí)現(xiàn)雙擊的效果
# 因?yàn)閮纱螁螕羰沁B續(xù)執(zhí)行的,沒(méi)有等待時(shí)間。如果中間來(lái)一個(gè)time.sleep幾秒,那么就變成兩次單擊了


# 當(dāng)然鼠標(biāo)點(diǎn)擊我們有更合適的辦法,使用click函數(shù)
# 該函數(shù)接收兩個(gè)參數(shù):點(diǎn)擊鼠標(biāo)的哪個(gè)鍵、以及點(diǎn)擊次數(shù)
# 這里連續(xù)點(diǎn)擊兩次,等于雙擊
mouse.click(Button.right, 2)

還有一個(gè)功能比較常見(jiàn),我們需要拿出來(lái)單獨(dú)說(shuō),是因?yàn)檫@個(gè)需要找張圖片來(lái)演示。

這種情況我們?nèi)绻胫栏鄡?nèi)容,需要向下滑動(dòng),也就是沿著y軸滑動(dòng)

from pynput.mouse import Controller

mouse = Controller()

# 垂直方向、沿著y軸滑動(dòng)
# 第一個(gè)參數(shù)是針對(duì)水平方向的,暫時(shí)不用管,為0則表示不變。
# 第二個(gè)參數(shù)是針對(duì)垂直方向的,大于0表示向下,小于0表示向上
mouse.scroll(0, 2)

我們上面是向下移動(dòng)兩個(gè)step,什么是step呢?

點(diǎn)擊一次就會(huì)移動(dòng)一個(gè)step

同理這個(gè)就是在水平方向上移動(dòng)

from pynput.mouse import Controller

mouse = Controller()
# 大于0向右,小于0向左
mouse.scroll(3, 0)

可能有人好奇,可不可以水平、垂直兩個(gè)方向同時(shí)移動(dòng)呢?答案是不可以,因?yàn)檫@是模擬人來(lái)點(diǎn)擊,無(wú)非就是效率的問(wèn)題,所以也要符合常理,因?yàn)槲覀兤綍r(shí)用鼠標(biāo)顯然不可能兩個(gè)方向同時(shí)移動(dòng)。

監(jiān)控鼠標(biāo)

我們可以使用pynput操作鼠標(biāo),同時(shí)pynput也支持我們?cè)谑謩?dòng)操作鼠標(biāo)的時(shí)候記錄我們做了哪些操作,同理后面介紹的鍵盤也是一樣的,都分為操作、監(jiān)控兩部分。

from pynput.mouse import Listener


def on_move(x, y):
 print(f"鼠標(biāo)移動(dòng)到: ({x}, {y})")


def on_click(x, y, button, is_press):
 print(f"鼠標(biāo){button}鍵在({x}, {y})處{'按下' if is_press else '松開(kāi)'}")


def on_scroll(x, y, dx, dy):
 if dx:
  print(f"滑輪在({x}, {y})處向{'右' if dx > 0 else '左'}滑")
 else:
  print(f"滑輪在({x}, {y})處向{'下' if dy > 0 else '上'}滑")


with Listener(
 # 上面函數(shù)名不能變,記得對(duì)應(yīng)
 on_move=on_move,
 on_click=on_click,
 on_scroll=on_scroll
) as listener:
 listener.join()
"""
鼠標(biāo)移動(dòng)到: (1090, 369)
鼠標(biāo)移動(dòng)到: (1090, 368)
鼠標(biāo)移動(dòng)到: (1090, 368)
鼠標(biāo)移動(dòng)到: (1090, 367)
鼠標(biāo)Button.left鍵在(1090, 367)處按下
鼠標(biāo)Button.left鍵在(1090, 367)處松開(kāi)
滑輪在(1090, 367)處向上滑
"""

上面實(shí)例化一個(gè)Listener時(shí),相當(dāng)于開(kāi)啟了一個(gè)線程,因?yàn)長(zhǎng)istener這個(gè)類繼承自threading.Thread。所以我們調(diào)用listener.join()相當(dāng)于就阻塞在這里了,會(huì)一直監(jiān)控鼠標(biāo)事件。所以我們需要一個(gè)機(jī)制來(lái)讓它停下來(lái):

from pynput.mouse import Listener, Button


def on_move(x, y):
 print(f"鼠標(biāo)移動(dòng)到: ({x}, {y})")


def on_click(x, y, button, is_press):
 if button == Button.right:
  # 一旦當(dāng)某個(gè)事件返回了False,那么就會(huì)停止了
  # 這里我們選擇右鍵吧
  print("點(diǎn)擊右鍵,停止監(jiān)控")
  return False
 print(f"鼠標(biāo){button}鍵在({x}, {y})處{'按下' if is_press else '松開(kāi)'}")


def on_scroll(x, y, dx, dy):
 if dx:
  print(f"滑輪在({x}, {y})處向{'右' if dx > 0 else '左'}滑")
 else:
  print(f"滑輪在({x}, {y})處向{'下' if dy > 0 else '上'}滑")


with Listener(
 on_move=on_move,
 on_click=on_click,
 on_scroll=on_scroll
) as listener:
 listener.join()
"""
鼠標(biāo)Button.left鍵在(881, 606)處按下
鼠標(biāo)Button.left鍵在(881, 606)處松開(kāi)
點(diǎn)擊右鍵,停止監(jiān)控
"""

另外執(zhí)行的時(shí)候,你會(huì)發(fā)現(xiàn),程序會(huì)一直阻塞在listener.join()處,如果下面還有代碼要怎么執(zhí)行呢?

from pynput.mouse import Listener


def on_move(x, y):
 print(f"鼠標(biāo)移動(dòng)到: ({x}, {y})")


def on_click(x, y, button, is_press):
 print(f"鼠標(biāo){button}鍵在({x}, {y})處{'按下' if is_press else '松開(kāi)'}")


def on_scroll(x, y, dx, dy):
 if dx:
  print(f"滑輪在({x}, {y})處向{'右' if dx > 0 else '左'}滑")
 else:
  print(f"滑輪在({x}, {y})處向{'下' if dy > 0 else '上'}滑")


listener = Listener(
 on_move=on_move,
 on_click=on_click,
 on_scroll=on_scroll)

# 啟動(dòng)線程,主線程會(huì)繼續(xù)向下執(zhí)行
listener.start()
print("執(zhí)行下面代碼")
print(123)

# 此外我們也可以不通過(guò)讓事件返回False,結(jié)束監(jiān)聽(tīng)
# 而是就讓它一直監(jiān)聽(tīng),等我們的邏輯執(zhí)行完畢之后,手動(dòng)結(jié)束監(jiān)聽(tīng)
# 結(jié)束監(jiān)聽(tīng)是通listener.stop()
import time
time.sleep(3) # 這里睡3s,相當(dāng)于執(zhí)行一段長(zhǎng)邏輯了,否則子線程還未啟動(dòng),就直接被主線程強(qiáng)制stop掉了
# 結(jié)束監(jiān)聽(tīng)
listener.stop()
print("程序結(jié)束")
"""
執(zhí)行下面代碼
123
鼠標(biāo)移動(dòng)到: (850, 525)
鼠標(biāo)Button.left鍵在(850, 525)處按下
鼠標(biāo)Button.left鍵在(850, 525)處松開(kāi)
鼠標(biāo)Button.right鍵在(850, 525)處按下
鼠標(biāo)Button.right鍵在(850, 525)處松開(kāi)
程序結(jié)束
"""

鍵盤

操作鍵盤也比較簡(jiǎn)單,無(wú)非也是按下某個(gè)鍵、松開(kāi)某個(gè)鍵,或者在按下某個(gè)鍵(或者多個(gè))不松開(kāi)的前提下、按下另一個(gè)鍵,下面來(lái)操作一下。方法和操作鼠標(biāo)比較類似:

from pynput.keyboard import Key, Controller

# 實(shí)例化一個(gè)可以操作鍵盤的對(duì)象
keyboard = Controller()

# 按下a鍵,小寫
keyboard.press("a")
# 松開(kāi)a鍵
keyboard.release("a")

# 按下A鍵,大寫
keyboard.press("A")
# 松開(kāi)A鍵
keyboard.release("A")
"""
像英文字符、數(shù)字等等直接輸入相應(yīng)的字符即可
但如果是shift、ctrl等鍵,那么需要調(diào)用Key里面屬性
"""
# 按下大寫鍵
keyboard.press(Key.caps_lock)
# 松開(kāi)大寫鍵
keyboard.release(Key.caps_lock)

下面來(lái)看看如何在按住某個(gè)鍵不放的前提下,按下另外的鍵

from pynput.keyboard import Key, Controller

# 實(shí)例化一個(gè)可以操作鍵盤的對(duì)象
keyboard = Controller()

# 注意調(diào)用的方法,是pressed,不是press
# shift有兩個(gè)鍵,一個(gè)是左邊的、一個(gè)是右邊的
with keyboard.pressed(Key.shift_l):
 keyboard.press("1")
 keyboard.release("1")
"""
上面的結(jié)果會(huì)輸出一個(gè)感嘆號(hào),另外我們鍵盤的上方有數(shù)字鍵、右側(cè)也有數(shù)字鍵。
我們平時(shí)輸出感嘆號(hào)用的都是shift加上鍵盤上方的數(shù)字鍵,用右側(cè)的數(shù)字鍵會(huì)沒(méi)有效果

但是對(duì)于pynput則沒(méi)有區(qū)別,都會(huì)輸出感嘆號(hào),因?yàn)槟阌面I盤上方和有方的數(shù)字鍵打出來(lái)的都是數(shù)字
"""
# 如果要同時(shí)按下多個(gè)鍵呢?那就輸入多個(gè)鍵即可,細(xì)心的老鐵可能發(fā)現(xiàn)了,這正是pycharm啟動(dòng)程序的快捷鍵
with keyboard.pressed(Key.shift_l, Key.ctrl_l):
 keyboard.press(Key.f10)

監(jiān)控

監(jiān)控鍵盤使用的方法和監(jiān)控鼠標(biāo)非常類似,依舊是實(shí)例化一個(gè)類Listener

from pynput.keyboard import Key, Listener


# 此時(shí)的Listener是從keyboard里面導(dǎo)入的

def on_press(key):
 # 當(dāng)按下esc,結(jié)束監(jiān)聽(tīng)
 if key == Key.esc:
  print(f"你按下了esc,監(jiān)聽(tīng)結(jié)束")
  return False
 print(f"你按下了{(lán)key}鍵")


def on_release(key):
 print(f"你松開(kāi)了{(lán)key}鍵")


with Listener(on_press=on_press, on_release=on_release) as listener:
 listener.join()
"""
你按下了'a'鍵
你松開(kāi)了'a'鍵
你按下了Key.shift鍵
你松開(kāi)了Key.shift鍵
你按下了Key.right鍵
你松開(kāi)了Key.right鍵
你按下了Key.down鍵
你松開(kāi)了Key.down鍵
你按下了esc,監(jiān)聽(tīng)結(jié)束
"""

所以定義函數(shù)的方式和操作鼠標(biāo)也是類似的,該Listener同樣會(huì)開(kāi)啟一個(gè)線程。另外這里的key打印的是'Key.xxx',我們轉(zhuǎn)成字符串其實(shí)已經(jīng)可以判斷按下了哪個(gè)鍵了。不過(guò)key里面還是提供了方法,讓我們獲取操作的鍵

from pynput.keyboard import Key, Listener

def on_press(key):
 """
 我們之前說(shuō)按下某個(gè)鍵的時(shí)候,如果是英文字符、數(shù)字這些,直接輸入相應(yīng)的字符即可
 但如果是ctrl、shift這些鍵,需要從keyboard.Key里面獲取

 那么同理,在這里我們?nèi)绻胍@取具體按下、松開(kāi)哪個(gè)鍵的話,那么可以調(diào)用key.char或者key.name
 如果是英文字符、數(shù)字這些,調(diào)用key.char;如果是ctrl、shift、f1、f12這些鍵,則需要調(diào)用key.name
 """
 if key == Key.esc:
  print(f"你按下了esc,監(jiān)聽(tīng)結(jié)束")
  return False
 print(f"你按下了{(lán)key.char if hasattr(key, 'char') else key.name}鍵")


def on_release(key):
 print(f"你松開(kāi)了{(lán)key.char if hasattr(key, 'char') else key.name}鍵")


with Listener(on_press=on_press, on_release=on_release) as listener:
 listener.join()
"""
你按下了shift鍵
你松開(kāi)了shift鍵
你按下了a鍵
你松開(kāi)了a鍵
你按下了esc,監(jiān)聽(tīng)結(jié)束
"""

此時(shí)返回的就是普通的鍵的名稱,沒(méi)有Key.這個(gè)前綴了。
以上就是這個(gè)模塊的內(nèi)容了,具體怎么使用可以由你自己決定。另外這個(gè)模塊在Linux上也是可以運(yùn)行的,但前提是必須有顯示器,而公司用的服務(wù)器肯定是不帶顯示器的,所以不推薦Linux上使用

以上就是python使用pynput庫(kù)操作、監(jiān)控你的鼠標(biāo)和鍵盤的詳細(xì)內(nèi)容,更多關(guān)于python pynput庫(kù)操作監(jiān)控鼠標(biāo)鍵盤的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

您可能感興趣的文章:
  • 用Python監(jiān)控你的朋友都在瀏覽哪些網(wǎng)站?
  • python只需30行代碼就能記錄鍵盤的一舉一動(dòng)
  • Python實(shí)時(shí)監(jiān)控網(wǎng)站瀏覽記錄實(shí)現(xiàn)過(guò)程詳解
  • python自動(dòng)發(fā)微信監(jiān)控報(bào)警
  • 你知道怎么用Python監(jiān)控聊天記錄嗎

標(biāo)簽:懷化 浙江 昆明 西寧 石家莊 文山 錫林郭勒盟 梅州

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《python使用pynput庫(kù)操作、監(jiān)控你的鼠標(biāo)和鍵盤》,本文關(guān)鍵詞  python,使用,pynput,庫(kù),操作,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《python使用pynput庫(kù)操作、監(jiān)控你的鼠標(biāo)和鍵盤》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于python使用pynput庫(kù)操作、監(jiān)控你的鼠標(biāo)和鍵盤的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    亚洲国产精品一区二区www在线| 91蝌蚪国产九色| 日产国产欧美视频一区精品| 成人一级视频在线观看| 欧美高清在线一区二区| 成人av在线资源| 亚洲欧美日韩综合aⅴ视频| 91小宝寻花一区二区三区| 亚洲精品乱码久久久久| 在线精品视频免费观看| 99精品国产一区二区三区不卡| 欧美大肚乱孕交hd孕妇| 不卡视频在线看| 日韩av一级片| 亚洲天堂免费在线观看视频| 91精品国产综合久久香蕉的特点 | 久久av老司机精品网站导航| 久久只精品国产| 欧美日韩一区二区三区四区 | 欧美成人aa大片| 色国产精品一区在线观看| 久久九九久精品国产免费直播| 欧美喷潮久久久xxxxx| 欧美日韩在线播放| 精品少妇一区二区三区| 亚洲国产欧美一区二区三区丁香婷| 成人永久免费视频| 国产**成人网毛片九色| 欧美三级中文字| 久久精品亚洲一区二区三区浴池| 自拍偷拍国产亚洲| 亚洲国产精品v| 国产精品久久久久久久午夜片 | 91精品国产福利在线观看| 麻豆91精品91久久久的内涵| 亚洲狠狠爱一区二区三区| 国产亚洲精品免费| 2023国产精品| 欧美精品一区二区蜜臀亚洲| 日韩欧美在线观看一区二区三区| 色香蕉成人二区免费| 高清不卡在线观看av| 国产成人免费在线| 国产精品的网站| 99精品视频一区二区三区| 丰满少妇久久久久久久| 精彩视频一区二区| 国产91丝袜在线观看| 欧美日韩大陆一区二区| 成人白浆超碰人人人人| 福利一区二区在线观看| 欧美激情自拍偷拍| 中文字幕在线免费不卡| 亚洲国产电影在线观看| 亚洲欧美日韩在线| 中文字幕亚洲在| 亚洲欧美日韩国产成人精品影院 | 一二三区精品福利视频| 久久蜜桃香蕉精品一区二区三区| 久久影院午夜片一区| 国产精品美女久久久久aⅴ国产馆| 亚洲欧洲日韩在线| 亚洲大片在线观看| 97久久超碰精品国产| 中文字幕第一区二区| 久久综合久久鬼色中文字| 69堂精品视频| 国产精品福利av| 国产成人精品免费| 日韩你懂的电影在线观看| 日韩综合一区二区| 欧美午夜宅男影院| 亚洲一区二区三区中文字幕| 成人18视频日本| 一区二区三区在线影院| 欧美一区二区三区免费大片| 午夜精品一区二区三区电影天堂 | www.在线成人| 日韩有码一区二区三区| 精品久久久三级丝袜| 国产一区二区三区av电影| 亚洲午夜久久久| 国产乱人伦精品一区二区在线观看| 欧美精三区欧美精三区| 精品一区二区在线观看| 欧美色综合影院| 青青国产91久久久久久| 欧美极品美女视频| 日韩欧美色综合网站| 国产三级精品在线| 国产乱子轮精品视频| 日本一区二区综合亚洲| 久草这里只有精品视频| 日韩欧美你懂的| 国产成人99久久亚洲综合精品| 久久理论电影网| 国产成+人+日韩+欧美+亚洲| 日韩欧美aaaaaa| 亚洲与欧洲av电影| 久久综合一区二区| 亚洲国产成人午夜在线一区| 亚洲欧美自拍偷拍| 日韩av二区在线播放| 经典三级视频一区| 不卡一区二区三区四区| 欧美精品三级在线观看| 欧美国产日韩在线观看| 亚洲成人黄色小说| 丁香激情综合国产| 日韩精品在线网站| 中文字幕佐山爱一区二区免费| 免费不卡在线视频| 在线观看亚洲成人| 国产欧美日韩精品a在线观看| 亚洲综合色噜噜狠狠| 国产成人av影院| 欧美一二三四区在线| 视频一区免费在线观看| 国产69精品久久777的优势| 日韩精品综合一本久道在线视频| 亚洲美女屁股眼交3| 国产91在线观看| 日韩欧美综合一区| 一区二区在线免费观看| 国产成人免费xxxxxxxx| 欧美一区二区美女| 日本中文在线一区| 91免费版在线| 亚洲主播在线观看| 制服丝袜亚洲色图| 午夜精品久久久久久久| 欧美日韩视频专区在线播放| 日韩电影免费一区| 91麻豆精品国产91久久久久久久久| 亚洲第一主播视频| 欧美一级国产精品| 国产99久久久国产精品潘金网站| 欧美大胆一级视频| 国产精品一二三| 中文字幕亚洲一区二区av在线 | 欧美日韩精品一区二区三区| 三级成人在线视频| 91精品国产色综合久久ai换脸 | 蜜乳av一区二区| 精品国产乱码久久久久久夜甘婷婷| 成熟亚洲日本毛茸茸凸凹| 国产精品久久久久久一区二区三区| 成人av小说网| 亚洲综合久久av| 精品国产一二三区| 在线视频综合导航| 国产在线视频精品一区| 久久精品亚洲精品国产欧美kt∨| 从欧美一区二区三区| 亚洲婷婷在线视频| 久久视频一区二区| 99精品国产热久久91蜜凸| 日韩精品三区四区| 午夜亚洲国产au精品一区二区| 日韩视频中午一区| 色一情一乱一乱一91av| 午夜精品福利一区二区三区蜜桃| 欧美一级日韩免费不卡| 色综合久久中文字幕| 成人一区二区在线观看| 激情综合网av| 99精品久久久久久| 国产一区二区三区四区五区美女| 欧美成人三级在线| 2023国产精品视频| 国产亚洲一区二区三区在线观看| 日韩女优视频免费观看| 日韩免费在线观看| 欧美在线free| 欧美一区二区网站| 久久美女高清视频| 中文字幕在线观看一区| 亚洲电影第三页| av网站免费线看精品| 午夜精品一区二区三区电影天堂| 欧美tickling网站挠脚心| 久久欧美中文字幕| 精品国产乱码久久久久久影片| 欧美日韩美女一区二区| 久久夜色精品一区| 国产精品视频九色porn| 亚洲综合色区另类av| 美女高潮久久久| 9色porny自拍视频一区二区| 成年人网站91| www久久精品| 日韩av不卡一区二区| 91色.com| 自拍偷自拍亚洲精品播放| 美女免费视频一区二区| 在线看国产日韩| 中文字幕色av一区二区三区| 蜜桃视频一区二区| 91麻豆精品国产自产在线观看一区 | 麻豆精品国产传媒mv男同 |