久久伊人一区二区三区四区-久久伊人影视-久久伊人影院-久久伊人中文字幕-亚洲成在人色婷婷-亚洲大成色www永久网

千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機構(gòu)

手機站
千鋒教育

千鋒學(xué)習(xí)站 | 隨時隨地免費學(xué)

千鋒教育

掃一掃進入千鋒手機站

領(lǐng)取全套視頻
千鋒教育

關(guān)注千鋒學(xué)習(xí)站小程序
隨時隨地免費學(xué)習(xí)課程

當(dāng)前位置:首頁  >  技術(shù)干貨  > JavaScript 實現(xiàn)網(wǎng)頁截屏五種方法

JavaScript 實現(xiàn)網(wǎng)頁截屏五種方法

來源:千鋒教育
發(fā)布人:wjy
時間: 2022-06-01 15:02:00 1654066920

最近研究了下如何利用JavaScript實現(xiàn)網(wǎng)頁截屏,包括在瀏覽器運行的JS,以及在后臺運行的nodeJs的方法。主要看了以下幾個:

- PhantomJS
- Puppeteer(chrome headless)
- SlimerJS
- dom-to-image
- html2canvas

測試的網(wǎng)頁使用了WebGL技術(shù),所以下面的總結(jié)會和WebGL相關(guān)。

JavaScript實現(xiàn)網(wǎng)頁截屏五種方法

**名詞定義**

headless browser

無界面瀏覽器,多用于網(wǎng)頁自動化測試、網(wǎng)頁截屏、網(wǎng)頁的網(wǎng)絡(luò)監(jiān)控等。

**PhantomJS**

PhantomJS是可以通過JS進行編程的headless瀏覽器,使用的是QtWebKit內(nèi)核。

實現(xiàn)截屏的代碼,假設(shè)文件名為github.js:

```js
// 創(chuàng)建一個網(wǎng)頁實例
var page = require( webpage ).create();
// 加載頁面
page.open( http://github.com/ , function () {
    // 給網(wǎng)頁截屏,保存到github.png文件中
    page.render( github.png );
    phantom.exit();
})
```

運行:

```js
phantomjs github.js
```

普通的頁面沒有問題,但是如果運行包含WebGL的頁面,發(fā)現(xiàn)截屏不對。經(jīng)過一些調(diào)查,發(fā)現(xiàn)不支持WebGL,github issue。

總結(jié):

1、PhantomJs已經(jīng)停止維護了,所以不太建議繼續(xù)使用。停止維護的一個原因是chrome發(fā)布的headless版本對它造成了一定沖擊。

2、不支持WebGL。但是,還是有開發(fā)者說可以自己給PhantomJS添加WebGL支持,不過,這個方案目前超出我的知識范圍了,就沒有繼續(xù)研究。

**Puppeteer(chrome** **headless)**

Puppeteer是一個Node庫,提供了控制chrome和chromium的API。默認(rèn)運行headless模式,也支持界面運行。

實現(xiàn)截屏的代碼example.js:

```js
const puppeteer = require( puppeteer );

(async () => {
    const browser = await puppeteer.launch();
    const page = await browser.newPage();
    await page.setViewport({ // 設(shè)置視窗大小
    width: 600,
    height: 800
    });
    await page.goto( https://example.com ); // 打開頁面
    await page.screenshot({path:  example.png }); // path: 截屏文件保存路徑

    await browser.close();
})();
```

運行:

```text
node example.js
```

接下來看下screenshot方法的實現(xiàn)原理:

screenshot的源碼位于lib/cjs/puppeteer/common/Page.js文件中,是一個異步方法:

```js
async screenshot(options = {}) {
    // ...
    return this._screenshotTaskQueue.postTask(() => this._screenshotTask(screenshotType, options));
}
async _screenshotTask(format, options) {
    // ...
    const result = await this._client.send( Page.captureScreenshot , {
    format,
    quality: options.quality,
    clip,
    });
    // ...
}
```

這個this._client.send又是個什么東西?別急,我們重新看下Puppeteer的定義:

“ Puppeteer is a Node library which provides a high-level API to control Chrome or Chromium over the DevTools Protocol.

” 看到最后面那個DevTools Protocol了嗎?這是個什么東西:

“ The Chrome DevTools Protocol allows for tools to instrument, inspect, debug and profile Chromium, Chrome and other Blink-based browsers.

” 詳細的解釋可以看這篇博客。

簡單來說,Puppeteer就是通過WebSocket給瀏覽器發(fā)送遵循Chrome Devtools Protocol的數(shù)據(jù),命令瀏覽器去執(zhí)行一些操作。然后,瀏覽器再通過WebSocket把結(jié)果返回給Puppeteer。這個過程是異步的,所以看源代碼會發(fā)現(xiàn)好多async/await。

所以screenshot方法是調(diào)用了Chrome Devtools Protocol的captureScreenshot。

總結(jié):

- 支持WebGL。
- 網(wǎng)頁比較復(fù)雜的話,截屏?xí)r間也挺長的,我測試的頁面是幾百毫秒。
- Puppeteer是對(CDP)Chrome Devtools Protocol功能的封裝。大部分功能都是通過WebSocket傳輸給CDP處理的。

**SlimerJS**

SlimerJS和PhantomJS類似。不同點是SlimerJS是基于火狐的瀏覽器引擎Gecko,而不是Webkit。

SlimerJS可以通過npm安裝,最新版本是1.x。不過兼容的火狐版本是53.0到59.0。我看現(xiàn)在火狐最新版本都82了。

因為我本機是安裝了火狐最新版本的,所以我還得安裝一個老版本的火狐,比如59.0。可以參考這篇安裝舊版本的火狐瀏覽器。我是mac系統(tǒng),感覺安裝還是挺容易的。

實現(xiàn)截屏的代碼screenshot.js:

```js
var page = require( webpage ).create();
page.open("    page.viewportSize = { width:1024, height:768 };
    page.render( screenshot.png );
});
```

運行

```js
// mac操作系統(tǒng)設(shè)置火狐路徑
export SLIMERJSLAUNCHER=/Applications/Firefox.app/Contents/MacOS/firefox
./node_modules/.bin/slimerjs screenshot.js // 我是局部安裝的slimer包
```

需要注意的是SLIMERJSLAUNCHER=/Applications/Firefox.app/Contents/MacOS/firefox啟動的是火狐默認(rèn)的安裝路徑,因為我一開始就有火狐瀏覽器,所以啟動的是最新版本的瀏覽器,然后就報錯了,說不兼容。在前面我安裝過一個59版本的火狐,那么這個火狐瀏覽器的路徑是什么?

在應(yīng)用程序里面我把這個舊版本的火狐命名為Firefox59,然后這個路徑就是/Applications/Firefox59.app/Contents/MacOS/firefox。重新設(shè)置SLIMERJSLAUNCHER為59版本的火狐瀏覽器之后,發(fā)現(xiàn)就能成功了。

不過,Puppeteer默認(rèn)會打開瀏覽器界面,也就是non-headless模式。如果要使用headless模式,可以

```text
  ./node_modules/.bin/slimerjs --headless screenshot.js
```

不過,headless模式下,不支持WebGL。

我在寫例子的時候,發(fā)現(xiàn)的一個明顯的不同就是Puppeteer截屏是異步函數(shù),而SlimerJS截屏是同步函數(shù)?好奇心驅(qū)使下,看了下源碼(src/modules/slimer-sdk/webpage.js):

```js
render: function(filename, options) {
    // ...
    let canvas = webpageUtils.getScreenshotCanvas(
    browser.contentWindow,
    finalOptions.ratio,
    finalOptions.onlyViewport, this);
    }
    canvas.toBlob(function(blob) {
    let reader = new browser.contentWindow.FileReader();
    reader.onloadend = function() {
        content = reader.result;
    }
    reader.readAsBinaryString(blob);
    }, finalOptions.contentType, finalOptions.quality);
    // ...
}
```

webpageUtils.getScreenshotCanvas(src/modules/webpageUtils.jsm):

```js
getScreenshotCanvas : function(window, ratio, onlyViewport, webpage) {
    // ...
    // create the canvas
    let canvas = window.document.createElementNS("
    canvas.width = canvasWidth;
    canvas.height = canvasHeight;

    let ctx = canvas.getContext("2d");
    ctx.scale(ratio, ratio);
    ctx.drawWindow(window, clip.left, clip.top, clip.width, clip.height, "rgba(0,0,0,0)");
    ctx.restore();

    return canvas;
}
```

關(guān)鍵代碼就是那行ctx.drawWindow。what?JS原生API還支持直接截屏?

CanvasRenderingContext2D.drawWindow():只有火狐支持,已經(jīng)被廢棄掉的非規(guī)范定義的標(biāo)準(zhǔn)API。

總結(jié)

- 1.0版本支持的火狐版本是53.0到59.0。不保證最新版本火狐可用。
- headless模式下,不支持WebGL。

**dom-to-image**

dom-to-image:前端截屏的開源庫。工作原理是:

SVG的foreignObject標(biāo)簽可以包裹任意的html內(nèi)容。那么,為了渲染一個節(jié)點,主要進行了以下步驟:

- 遞歸地拷貝原始dom節(jié)點和后代節(jié)點;
- 把原始節(jié)點以及后代節(jié)點的樣式遞歸的應(yīng)用到對應(yīng)的拷貝后的節(jié)點和后代節(jié)點上;
- 字體處理;
- 圖片處理;
- 序列化拷貝后的節(jié)點,把它插入到foreignObject里面,然后組成一個svg,然后生成一個data URL;
- 如果想得到PNG內(nèi)容或原始像素值,可以先使用data URL創(chuàng)建一個圖片,使用一個離屏canvas渲染這張圖片,然后從canvas中獲取想要的數(shù)據(jù)。

測試的時候,發(fā)現(xiàn)外部資源不能加載,所以簡單的了解了后就放棄了。

**html2canvas**

html2canvas。網(wǎng)上查了下感覺有一篇文章寫的挺好的:淺析 js 實現(xiàn)網(wǎng)頁截圖的兩種方式。感興趣的可以看下。

**未驗證的猜想**

雖然后面這兩種是前端的實現(xiàn)方式,但是結(jié)合前面講的headless庫,也是可以實現(xiàn)后端截屏的。以Puppeteer的API為例,可以首先使用page.addScriptTag(options)往網(wǎng)頁中添加前端截屏的庫,然后在page.evaluate(pageFunction[, ...args])中的pageFunction函數(shù)里面寫相應(yīng)的截屏代碼就可以了,因為pageFunction的執(zhí)行上下文是網(wǎng)頁上下文,所以可以獲取到document等對象。

**-** **End** **-**

更多關(guān)于“html5培訓(xùn)”的問題,歡迎咨詢千鋒教育在線名師。千鋒已有十余年的培訓(xùn)經(jīng)驗,課程大綱更科學(xué)更專業(yè),有針對零基礎(chǔ)的就業(yè)班,有針對想提升技術(shù)的提升班,高品質(zhì)課程助理你實現(xiàn)夢想。

tags:
聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
10年以上業(yè)內(nèi)強師集結(jié),手把手帶你蛻變精英
請您保持通訊暢通,專屬學(xué)習(xí)老師24小時內(nèi)將與您1V1溝通
免費領(lǐng)取
今日已有369人領(lǐng)取成功
劉同學(xué) 138****2860 剛剛成功領(lǐng)取
王同學(xué) 131****2015 剛剛成功領(lǐng)取
張同學(xué) 133****4652 剛剛成功領(lǐng)取
李同學(xué) 135****8607 剛剛成功領(lǐng)取
楊同學(xué) 132****5667 剛剛成功領(lǐng)取
岳同學(xué) 134****6652 剛剛成功領(lǐng)取
梁同學(xué) 157****2950 剛剛成功領(lǐng)取
劉同學(xué) 189****1015 剛剛成功領(lǐng)取
張同學(xué) 155****4678 剛剛成功領(lǐng)取
鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
董同學(xué) 138****2867 剛剛成功領(lǐng)取
周同學(xué) 136****3602 剛剛成功領(lǐng)取
相關(guān)推薦HOT
今日頭條展現(xiàn)量是什么?今日頭條展現(xiàn)量規(guī)則分析

目前頭條用戶會發(fā)現(xiàn)微頭條和問答新增了“展現(xiàn)量”指標(biāo)。那么這個今日頭條展現(xiàn)量是什么意思呢?如何提高呢?下面千鋒教育小編就和大家說...詳情>>

2023-09-19 09:15:47
我想直播帶貨去哪里找貨源一件代發(fā)

現(xiàn)在直播帶貨是一個非常火的行業(yè),越來越多的人進入到這個圈子,但是,認(rèn)真地說,直播帶貨能不能賺到錢還是要看自己。雖然這一行業(yè)火,收入高,...詳情>>

2023-09-19 08:41:02
入駐短視頻mcn需要多少錢?有哪些費用?

眾所周知,現(xiàn)在短視頻成了很多人的自媒體創(chuàng)業(yè)道路之一,越來越多人喜歡在網(wǎng)上消遣時間,購物等。也有很多優(yōu)秀的博主去做出很多新的內(nèi)容,那么入...詳情>>

2023-09-19 08:12:47
短視頻帶貨應(yīng)該注冊什么公司?需要什么資料?

短視頻大家應(yīng)該都非常熟悉,現(xiàn)在很多人都喜歡在閑暇的時候刷短視頻,短視頻平臺也開始了直播帶貨,商家也都開始創(chuàng)業(yè)了,那么短視頻帶貨需要營業(yè)...詳情>>

2023-09-19 08:09:31
怎樣投抖加不花錢?別人能看出來嗎?

抖音一些視頻為了獲取更多點擊,一些博主機會投抖加。其實抖加的投放沒有絕對正確的方法,而不同賬號和視頻投放的策略都是不一樣的,不過一般情...詳情>>

2023-09-19 08:00:10
開班信息
北京校區(qū)
  • 北京校區(qū)
  • 大連校區(qū)
  • 廣州校區(qū)
  • 成都校區(qū)
  • 杭州校區(qū)
  • 長沙校區(qū)
  • 合肥校區(qū)
  • 南京校區(qū)
  • 上海校區(qū)
  • 深圳校區(qū)
  • 武漢校區(qū)
  • 鄭州校區(qū)
  • 西安校區(qū)
  • 青島校區(qū)
  • 重慶校區(qū)
  • 太原校區(qū)
  • 沈陽校區(qū)
  • 南昌校區(qū)
  • 哈爾濱校區(qū)
主站蜘蛛池模板: 在线 | 18精品免费1区2| 国产成人无码A区视频在线观看| 中国老熟女重囗味HDXX| 久久精品无码一区二区小草| 麻花豆传媒剧国产MV在线观看| 首页 综合国产 亚洲 丝袜日本| 亚洲色成人一区二区三区小说| 国产成人综合欧美精品久久| 极品少妇的粉嫩小泬看片| 丰满妇女强高潮18ⅩXXX在线| xxxx免费网站| 久久久久久精品人妻免费网站| 女人18片毛片60分钟| 国产精品久久久亚洲| 房东天天吃我奶躁我| 日本少妇自慰高清喷浆| 无套内谢少妇毛片免费看看| 儿子比老公更大更硬朗| 国模GOGO大尺度尿喷人体| 办公室撕开奶罩揉吮奶漫画| 国产福利一区二区精品秒拍| 色狠狠一区二区三区香蕉| 粉嫩av一区二区三区四区| 女人被弄高潮视频免费| 国产成人亚洲精品青草| 国产成人亚洲精品无码AV大片| 日本高清在线视频WWW色| 无码人妻丰满熟妇区毛片18| 少妇人妻精品一区二区三区| 人妻无奈被迫屈辱1-9| 少妇人妻无码精品视频APP| 无码熟妇人妻AV在线影片免费| 亚洲AV无码一区二区三区久久精 | 嗯啊开小嫩苞好深啊H视频| 男人GAY自慰吞精网站| 黑人巨大精品欧美一区二区免费| 激情伊人五月天久久综合| 国精产品一区二区三区糖心269| 欧美乱码伦视频免费| 丰满少妇高潮惨叫久久久| 无码国内精品久久综合88| 久久成人国产精品| 人妻无奈被迫屈辱1-9| 中文人妻熟妇乱又伦精品| 亚洲成A人V在线蜜臀| 久久久久亚洲AV无码网站| 儿子第一次送妈妈母亲节礼物| 天天天天躁天天爱天天碰2018| 国产丰满大屁股XXXX| 欧美体内SHE精视频| 一碰就有水的女人男人喜欢?| 狠狠躁夜夜躁人人爽超碰97香蕉| 孰妇XXXXXX的性生话| 小浪货腿打开水真多真紧| 国产免费人成视频在线播放播 | 免费无码又爽又刺激激情视频| 国产精品成人无码久久久| 内射后入在线观看一区| 五十老熟妇乱子伦免费观看| 无码人妻av一区二区三区毛片| 热の无码热の有码热の综合| 欧美猛少妇性ⅩXXX| 狠狠亚洲婷婷综合色香五月| 国产超碰人人爽人人做人人添| 精品日产A一卡2卡三卡4卡乱| 精品影片在线观看的网站| 国产精品第20页| 亚洲色WWW永久网站| 欧美丰满熟妇人妻兽交视频| 国产成人亚洲精品青草| 欧美人与性囗牲恔配| 国产成人AV无码精品天堂| 午夜无码伦费影视在线观看| 国产成人无码AV| 欧美无砖专区一中文字| 无套内谢的新婚少妇国语播放| 人妻丰满熟妇av无码区HD优| 小浪货腿张开水好多呀H| 国产成人无码H在线观看网站| 天天爽夜夜爽夜夜爽精品视频 | 正文畸情~内裤奇缘小说| 无码人妻丰满熟妇区毛片18| 亚洲精品成人AV在线| 国产精品亚洲专区无码破解版| 天天爽夜夜爽夜夜爽精品视频 | 亚洲AV成人无码久久精品| 国产精品无码免费播放| 国内精品久久影院综合日日| 九九电影网午夜理论片| 极品粉嫩小泬白浆20P| 男人进入女人下部图| 国产精品视频色拍拍| 国产精品WWW夜色视频| 丰满的人妻沦为玩物在线| 荡公乱妇第1章方情95| 中国老太卖婬HD播放| 无码毛片内射白浆视频 | 欧美熟VIDEOS肥婆| 成 人 黄 色 网站 S色| 日韩激情无码免费毛片| 国产男男GAY做受ⅩXX小说| 草木影视在线视频免费观看| 中文字幕亚洲欧美专区| 狠狠色丁香久久综合婷婷| 绯色AV一区二区三区在线高清| 在图书馆揉捏她的双乳| 毛片亚洲AV无码精品国产午夜| 隔壁人妻被水电工征服| 哦┅┅快┅┅用力啊┅警花少妇| 国产精品成人AV片免费看| 秋霞久久国产精品电影院| 成人中文乱幕日产无线码| 欧美又粗又长XXXXBBBB疯| 中文在线中文资源| 超清纯白嫩大学生无码网站| 公的粗大挺进了我的密道视频 | 日韩AV影院在线观看| 成年黄网站18禁免费观看一区| 欧洲老人毛多BBWBBWBBW| Z〇ZOZ〇女人另类ZOZ〇| 国产农村乱人伦精品视频| 人人妻人人澡人人爽超污| 天天爽夜夜爽夜夜爽精品视频| 吃了继兄开的药后我做的梦更长了 | 娇妻强被迫伦姧惨叫 在线| 午夜A级理论片在线播放不卡| 无码G0G0大胆啪啪艺术| 久久亚洲熟妇熟女ⅩXXXHD| 男人扒开添女人下部免费视频| 久久亚洲色WWW成人| 高潮到不停喷水的免费视频| 小东西好几天没弄了还能吃吗 | 国产精品无码专区AV在线播放| 男人一边吃奶一边弄下边好爽| 久久国产精品成人片免费| 韩国19禁床震无遮掩免费| 成人精品动漫一区二区 | 熟妇人妻不卡无码一区| 成人亚洲欧美成ΑⅤ人在线观看| 余生请多指教在线观看免费全集| 少妇特殊按摩高潮爽翻天| 在图书馆揉捏她的双乳| 国产免费人成视频在线播放播 | 女人高潮特级毛片| 亚洲国产精品无码第一区二区三区 | 欧美特级特黄AAAAAA在线看| 天堂AV亚洲ITV在线AⅤ| 大荫蒂又大又长又硬又紧| 国产高清在线观看AV片麻豆| 女儿的朋友7中汉字晋通话| 成人无码精品1区2区3区免费看| 日本欧美大码A在线观看| 亚洲VA欧美VA国产VA综合| 东北老熟女疯狂作爱视频| 国产又色又刺激高潮免费视频试看| 中文无码不卡中文字幕| 中国东北熟女老太婆内谢| 亚洲AV无码乱码国产精品老妇| 成人爽A毛片在线视频| 成 人 黄 色 网站 S色| 吸头AXYGEN日本| 巨大黑人一级毛片| 成年黄网站18禁免费观看一区 | 免费女性裸体啪啪无遮挡网站| 色偷偷人人澡久久超碰97| 天天AV天天爽无码中文| 久久精品香蕉绿巨人登场| 国产成人啪精品视频网站午夜| 国产美女丝袜一级肛交蜜桃 | 熟妇人妻AV无码一区二区三区| 日日摸夜夜添夜夜添亚洲女人| 久久精品欧美日韩精品| 亚洲AV丰满熟妇在线播放| 国产精品青青青高清在线| 日本免费人成视频在线观看| 岳又紧又嫩又多水好爽| 丰满少妇人妻HD高清大乳| 妞干网在线视频免费观看| 色婷婷五月综合丁香中文字幕| 城中村快餐嫖老妇对白| 从厨房到餐桌JOYCE| 国产精品国产三级国AV麻豆 | 亚洲国产精品久久一线不卡| 在卫生间被教官做好爽| 成年动作片AV免费网站| 香蕉免费一区二区三区| 日本WWW一道久久久免费榴莲| 亚洲AV永久中文无码精品综合| 触及真心在线观看| 少妇厨房愉情理伦片BD在线观看| 日韩激情无码免费毛片| 国模无码一区二区三区不卡| 蜜桃av秘 无码一区二区三区| 久久夜色精品国产噜噜麻豆| 国产成人精品一区二三区在线观看| 国产男男GAY做受XXX| 无码一区在线视频| 国产成人精品一区二三区| 亚洲国产另类久久久精品| 少妇厨房愉情理伦片BD在线观看| 精品卡一卡二卡3卡高清乱码| 动漫人物插画动漫人物的视频| 无人区码一码二码三码在线| 国色天香在线观看全集免费播放| 尤物爆乳AV导航| 国产成人无码A区在线观看视频| 无码人妻精一区二区三区老牛| 九九电影网午夜理论片| 玩弄JaPan白嫩少妇一区二区| 国产成人精品久久一区二区三区| 日本丰满护士爆乳XXⅩ | 色欲AV浪潮AV蜜臀AⅤ| 国产成人年无码AV片在线观看| 亚洲AV无码国产精品色午| 成为人视频人的APP有哪些软件 | 日本多人强伦姧人妻完整版| 性色做爰片在线观看WW| WWW夜片内射视频日韩精品成人| 国产精品亚洲А∨无码播放麻豆| 狠狠亚洲婷婷综合色香五月| 国内精品九九久久精品| 差差差很疼视频30分钟无掩盖| 成人精品视频一区二区| 在线人成视频播放午夜福利| 亚洲AV片毛片成人观看| 民工把我奶头掏出来了怎么办| 久久国产成人午夜AV影院| 国精一二二产品无人区免费应用| 好男人好资源在线观看免费视频| 在线 | 18精品免费1区2| 调教小SAO货撅起打屁股作文| 女人被躁到高潮嗷嗷叫小说百度| 国产成人午夜在线视频A站| 亚洲AV无码一区二区二三区下载 | 国产精品三级一区二区| 余年周婉小说全文免费阅读完整版| 亚洲国产另类久久久精品小说| 欧美熟老妇人多毛OOXⅩ| 成熟人妻视频一区区三区 | 狠狠色噜噜狠狠亚洲AV| 无码少妇一区二区浪潮免费| 大乱东京道一本热大交乱| 精品日产A一卡2卡三卡4卡乱| 无码无套少妇毛多18PX| 被多人玩弄的烂货苏妖精| 国精产品一区一区三区有限在线 | 欧美性猛交一区二区| 在线播放亚洲第一字幕| 顶级欧美熟妇XXXXX欧美精品| 久久久久女人精品毛片| 亚洲AV无码一区二区三区网址| 黑人巨大JEEP日本人| А√天堂网WWW在线搜索| 国产精品欧美久久久久无广告| 日本乱偷互换人妻中文字幕| 天堂SV在线最新版在线| 色视频WWW在线播放国产人成| 在线看AV片的网站| 欧洲美熟女乱又伦免费视频| 亚洲AV无码一区二区密桃精品| 国产高潮刺激叫喊视频| 亚洲最大AV网站在线观看| 成年黄网站18禁免费观看一区| WWW久久久天天COM| 国产一区二区精品丝袜| 车内挺进尤物少妇紧窄| 欧美喷潮久久久XXXXX| 国产高清自产拍AV在线| 免费一对一真人视频| 无码人妻丰满熟妇区五十路百度 | 久久99精品久久只有精品| 国产成人亚洲综合无码99| 性色做爰片在线观看WW| 成人丝袜激情一区二区| 久久久久久精品免费S| 幼儿HIPHOP仙踪林的| 国产成人三级在线视频网站观看 | 日韩精品专区在线影院重磅| 动漫精品中文无码卡通动漫| 久久精品亚洲精品无码金尊| 人妻少妇无码专视频在线| 亚洲AV无码一区东京热久久 | 成人无码精品1区2区3区免费看 | 国产精品V欧美精品∨日韩| 日本COSME大赏美白| 青苹果影院YY04080看| 人妻三级日本香港三级极97| 一边做饭一边躁狂怎么办呢69| 国产成人久久精品| 亚洲国产一区二区三区| 精品熟女AV少妇免费久久自慰| 国内AI明星造梦鞠婧祎MV| 潮喷大喷水系列无码久久精品| 岛国AV动作片免费观看| 日本人XXXX1819HD| 成人无码H在线观看网站| 亚洲中文字幕精品一区二区三区| 超碰CAO已满18进入| 天美传媒MV高清版在线观看| 蜜臀成人片免费视频在线观看| 纯肉无遮挡H肉动漫在线观看3D | 天海翼一区二区三区高清在线 | 波多野结衣AV一区二区三区中文| 亚洲成A人片77777国产| 国产精品丝袜高跟鞋| 西方37大但人文艺术任汾A级 | 亚洲AV之男人的天堂| 精品久久久无码人妻中文字幕豆芽| 拔萝卜影视剧免费观看| 国产成人亚洲精品青草天美 | 公交车上拨开少妇内裤进入| 日韩精品无码熟人妻视频| 豆国产97在线 | 亚洲| 免费看成人AV片| 精品视频无码一区二区三区| 黑人巨茎中出人妻| 久久69老妇伦国产熟女高清| 人妻少妇精品视频aaa| 日本护士毛茸茸XX| 嫩小BBB揉BBB揉BBBB| 激情伊人五月天久久综合| 国产午夜亚洲精品理论片八戒| 久久久久亚洲AV无码永不| 国产又猛又黄又爽| 制服在线无码专区| 强开少妇嫩苞又嫩又紧小说| 欧美黑大粗无码免费视频| 嫩草研究院久久久精品| 抖抈短视频APP下载| 熟妇人妻AV无码一区二区三区| 巨熟乳波霸若妻在线播放| 国产精品爱久久久久久久小说| 午夜私人电影院在线观看| 国产麻花豆剧传媒精品MV在线| 无码熟妇人妻AV在线影片免费| 国产精品视频一区国模私拍| 玩弄少妇秘书人妻系列| 国产CHINASEX对白VID| 欧美综合天天夜夜久久| 又黄又硬又湿又刺激视频免费| 秋霞久久国产精品电影院| 在线观看韩国电影| 中文无码制服丝袜人妻AV| 国产精品免费AV片在线观看| 欧美人与动牲交片免费| 日韩AV影院在线观看| 少妇特黄Av一区二区三区| 亚洲人妻在线视频| 超清纯白嫩大学生无码网站| 成人无码区免费A∨视频| 纯肉无遮挡H肉动漫在线观看国产| 后入内射国产一区二区| 免费无码一区二区三区蜜桃大 | 无码人妻精品一区二区三区不卡| 国产福利在线 | 传媒| 国产AV无码专区亚洲AV麻豆丫| 精品少妇人妻AV无码专区| 久久精品国产99国产精品| 韩国三级中文字幕HD| 亚洲大尺度无码专区尤物| 漂亮人妻洗澡被公强 日日躁| 久久成人国产精品| 亚洲AV无码精品无码麻豆| 人妻丰满熟妇AV无码区乱| 国产精品99久久久久久猫咪| 岳的奶大又白又紧| 国产激情З∠视频一区二区| 欧美电影在线观看| 在线看AV的网站| 高清偷自拍亚洲精品三区| 全球AV集中精品导航福利| 亚洲AV中文无码4区| 草莓视频CAOMEI888| 国产成人8X视频网站| 好男人好资源在线影视官网| 欧美丰满少妇XXXXX| 久久夜色精品国产噜噜麻豆 | 亚洲精品456在线播放| 国产成人亚洲精品| 国产精品成人AV片免费看| 久久AⅤ人妻少妇嫩草影院| 少妇高潮惨叫喷水在线观看| 少妇人妻偷人精品无码视频| 亚洲AV无码一区二区三区国产| 亚洲AV无码久久寂寞少妇多毛| 大胆GOGO高清在线观看| 亚洲AV无一区二区三区久久| 日韩精品专区AV无码| 狠狠色噜噜狠狠亚洲AV| 成人无遮挡裸免费视频在线观看| 国产成人精品一区二三区| 亚洲AV无码国产一区二区三区| 亚洲A∨国产AV综合AV网站| 青苹果影院YY04080看| 国产成人精品午夜福利APP色多| 办公室撕开奶罩揉吮奶漫画| 日产2021免费一二三四| 差差漫画在线观看登录页面弹窗| 天天做天天躁天天躁| 国产精品成人VA在线观看| 西西人体444WWW高清大胆| 公车上玩弄白嫩少妇| 日本水蜜桃身体乳的美白效果| 国产成人愉拍免费视频| 欧美黑人男士和白人美女a级黄片视频在线播放 | 无码精品黑人一区二区三区| 国产精品白丝JK白祙喷水视频| 日韩乱码人妻无码超清蜜桃 | 高跟丝袜AV专区| 蜜桃av一区二区三区|