第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

檢查網(wǎng)站是否響應Puppeteer

檢查網(wǎng)站是否響應Puppeteer

躍然一笑 2021-05-12 16:12:51
我正在嘗試創(chuàng)建一個代碼,以檢查某個頁面是否具有響應式設計,我打算如何做到這一點?簡單,基本上是在網(wǎng)站響應時,它的所有元素(例如div,span,footer,header,section等)通常具有相同的屏幕寬度,或者通常不超過該寬度。例如,如果我們打開一個網(wǎng)站,為響應移動設備(例如iPhone 6,具有375x667),并且我們分析所有的HTML元素(div,span,header,section,footer),我們會看到,他們都沒有寬度375超過。那我的主意是什么?使用操縱符創(chuàng)建代碼進入網(wǎng)站,模擬移動設備(iPhone 6),抓取所有HTML元素,并檢查每個HTML元素的寬度是否大于iphone 6的屏幕寬度(375像素)。為此,我嘗試以下代碼:const browser = await puppeteer.launch();const page = await browser.newPage();await page.goto('http://stackoverflow.com/my-example.html');await await page.emulate(devices['iPhone 6']);const allstyles = await page.$$('table');await browser.close();console.log(allstyles);在http://stackoverflow.com/my-example.html我有很多表中,其中一個表的寬度為600像素(iPhone 6的寬度為375像素以上):<table align="center" border="0" cellpadding="0" cellspacing="0" width="600">....如何使用Puppeteer獲取所有元素的寬度并檢查寬度是否大于375px?
查看完整描述

1 回答

?
qq_笑_17

TA貢獻1818條經(jīng)驗 獲得超7個贊

要直接回答您的問題:您可以使用來做到這一點page.evaluate。以下代碼查詢頁面中的所有元素,獲取它們的寬度,對其進行過濾,以便僅寬度大于375stay的元素,然后檢查是否至少剩余一個元素。


代碼


const await page.evaluate(() =>

  [...document.querySelectorAll('*')]

  .map(el => el.offsetWidth)

  .filter(width => width > 375)

  .length > 0;

);

但是,您應該考慮是否只想檢查滾動條是否可見,例如通過比較document.body.offsetWidth和window.innerWidth。目前,可能有寬度大于頁面寬度的元素,但是頁面可能仍然負責,因為它可能隱藏在overflow:hidden容器中。


查看完整回答
反對 回復 2021-05-20
  • 1 回答
  • 0 關注
  • 191 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號