亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于文檔對(duì)象模型和圖像處理的網(wǎng)頁(yè)分割方法

        2018-04-24 07:58:46賈柯禎
        現(xiàn)代計(jì)算機(jī) 2018年8期
        關(guān)鍵詞:二值角點(diǎn)瀏覽器

        賈柯禎

        (四川大學(xué)計(jì)算機(jī)學(xué)院,成都 610065)

        0 引言

        隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展,Web應(yīng)用早已融入了人們的日常生活。從網(wǎng)易、搜狐等各種大型門(mén)戶(hù)網(wǎng)站,到京東、淘寶等熱門(mén)網(wǎng)上商城,再到微博、微信等流行社交平臺(tái),都或多或少地將Web應(yīng)用作為其載體??梢哉f(shuō),Web應(yīng)用已經(jīng)與我們密不可分。

        Web應(yīng)用是一種通過(guò)Web訪(fǎng)問(wèn)的應(yīng)用程序,它基于B/S(Browser/Server)結(jié)構(gòu)。通常情況下,用戶(hù)通過(guò)Web瀏覽器訪(fǎng)問(wèn)Web應(yīng)用,并與它進(jìn)行交互活動(dòng)。自1990年第一款瀏覽器Nexus(原名WorldWideWeb)問(wèn)世至今,瀏覽器的品牌已經(jīng)達(dá)到了數(shù)十種之多。

        跨瀏覽器差異的原因主要來(lái)自不同瀏覽器對(duì)于HTML、CSS以及JavaScript代碼的不同解釋。但差異并不意味著不兼容,界定何種程度的差異構(gòu)成了不兼容是一件非常主觀(guān)的事情。不論是Web應(yīng)用的設(shè)計(jì)者還是最終用戶(hù),他們都希望網(wǎng)頁(yè)在所有瀏覽器上具有相同或相似的表現(xiàn),除非存在的差異是設(shè)計(jì)者有意為之。雖然某些Web應(yīng)用聲明了推薦瀏覽器及其版本,但對(duì)于用戶(hù)來(lái)說(shuō),專(zhuān)門(mén)為了該應(yīng)用使用特定瀏覽器十分不便。因此,以檢測(cè)跨瀏覽器兼容性問(wèn)題為目的的跨瀏覽器兼容性測(cè)試就顯得尤為重要。

        1 相關(guān)工作

        現(xiàn)存的跨瀏覽器兼容性測(cè)試方法大部分通過(guò)分析文檔對(duì)象模型 DOM(Document Object Model)來(lái)進(jìn)行[1-5],有些也結(jié)合一些圖像處理技術(shù)[2,4,6,7],其中大多數(shù)都選擇使用“先分割再比較”的方法。

        WebDiff[2]與CrossCheck[4]使用基于DOM的方法對(duì)網(wǎng)頁(yè)截圖進(jìn)行分割。DOM是一個(gè)天然的樹(shù)形結(jié)構(gòu),通過(guò)對(duì)樹(shù)的遍歷,我們可以提取DOM中的每個(gè)節(jié)點(diǎn)的屬性。通過(guò)提取DOM節(jié)點(diǎn)的坐標(biāo)以及尺寸信息,我們可以將其映射到網(wǎng)頁(yè)截圖的相應(yīng)位置,并通過(guò)這些位置信息對(duì)網(wǎng)頁(yè)截圖進(jìn)行分割,最終得到許多子圖像,每個(gè)子圖像都對(duì)應(yīng)DOM中的一個(gè)節(jié)點(diǎn)。WebDiff的分割方法依賴(lài)于瀏覽器生成的DOM,它從根節(jié)點(diǎn)開(kāi)始對(duì)DOM進(jìn)行自底向上的遍歷,逐個(gè)比較節(jié)點(diǎn)對(duì)應(yīng)的圖像區(qū)域。這將導(dǎo)致兩個(gè)問(wèn)題。首先,DOM樹(shù)不盡相同,即使兩個(gè)瀏覽器產(chǎn)生了相同的網(wǎng)頁(yè)截圖,其DOM節(jié)點(diǎn)也不能保證一一對(duì)應(yīng),這在比較子圖時(shí)將產(chǎn)生問(wèn)題。其次,在遍歷DOM的過(guò)程中,截圖的某些部位將會(huì)被重復(fù)比較多次,換言之,子圖之間會(huì)有重疊,這些重疊的部分將增加計(jì)算開(kāi)銷(xiāo)。

        Browserbite[6]使用基于圖像的方法對(duì)網(wǎng)頁(yè)截圖進(jìn)行分割。它首先使用Harris角點(diǎn)提取算法[8]提取圖像的角點(diǎn)像素,使用膨脹方法對(duì)這些像素進(jìn)行處理,得到若干連通區(qū)域。當(dāng)連通區(qū)域面積或個(gè)數(shù)符合預(yù)設(shè)條件時(shí),得到最終的分割結(jié)果。Browserbite的方法在減少計(jì)算開(kāi)銷(xiāo)上明顯優(yōu)于基于DOM的方法,但其分割得到的區(qū)域仍有較少重疊,并且對(duì)于部分網(wǎng)頁(yè),很難解釋經(jīng)過(guò)分割得到的區(qū)域有何意義。此外,網(wǎng)頁(yè)上不構(gòu)成不兼容的差異也可能導(dǎo)致出現(xiàn)不同的分割。而B(niǎo)rowser?bite認(rèn)為如果分割得到的子塊不匹配,則網(wǎng)頁(yè)構(gòu)成不兼容,這將產(chǎn)生一部分假陽(yáng)性。

        本文將結(jié)合基于圖像的方法和基于DOM的方法的思想,提出一種新的網(wǎng)頁(yè)分割方法。該方法得到的網(wǎng)頁(yè)分割更易于匹配,且假陽(yáng)性率較低。

        2 分割方法

        本文提出的分割方法的主要步驟如圖1所示。

        圖1 分割方法主要步驟

        我們首先對(duì)待測(cè)網(wǎng)頁(yè)在不同瀏覽器上的渲染結(jié)果進(jìn)行截圖,并獲得其相應(yīng)的DOM對(duì)象。對(duì)得到的網(wǎng)頁(yè)截圖,我們將其進(jìn)行灰度化操作,轉(zhuǎn)為灰度圖像。對(duì)灰度圖像,我們進(jìn)行角點(diǎn)提取,使用Harris角點(diǎn)算法,得到圖像中的角點(diǎn)。通過(guò)將角點(diǎn)的灰度值設(shè)為255,其余點(diǎn)的灰度值設(shè)為0,我們將原圖像轉(zhuǎn)換為二值圖像。

        對(duì)二值圖像,我們進(jìn)行膨脹操作。對(duì)于一個(gè)在二值圖像上滑動(dòng)的3×3的窗口,如果其中心是一個(gè)值為255的點(diǎn),則將整個(gè)窗口覆蓋的二值圖像的像素點(diǎn)都標(biāo)記為255。當(dāng)窗口遍歷完一次二值圖像之后,將所有標(biāo)記為255的點(diǎn)的值置為255。

        經(jīng)過(guò)膨脹操作,二值圖將形成若干個(gè)連通區(qū)域。我們將連通區(qū)域的個(gè)數(shù)或大小設(shè)置為終止條件,經(jīng)過(guò)多次膨脹操作,得到最終的結(jié)果。我們?nèi)∵@些區(qū)域的最小橫坐標(biāo)、最大橫坐標(biāo)、最小縱坐標(biāo)、最大縱坐標(biāo),得到一個(gè)包含了該區(qū)域的矩形。

        接著,我們引入網(wǎng)頁(yè)DOM信息,對(duì)這些矩形進(jìn)行合并與分割。我們遍歷DOM樹(shù),對(duì)于每個(gè)節(jié)點(diǎn),調(diào)用JavaScript的 getBoundingClientRect()函數(shù)并計(jì)算得到其四角坐標(biāo),得到該節(jié)點(diǎn)對(duì)應(yīng)的矩形。將節(jié)點(diǎn)矩形和之前得到的二值矩形進(jìn)行對(duì)比,將出現(xiàn)下列情況:

        ●若節(jié)點(diǎn)矩形與二值矩形無(wú)交集,直接尋找下個(gè)二值矩形再進(jìn)行比較,若所有二值矩形均與當(dāng)前節(jié)點(diǎn)矩形無(wú)交集,則忽略當(dāng)前節(jié)點(diǎn)矩形,訪(fǎng)問(wèn)其兄弟節(jié)點(diǎn)。

        ●若節(jié)點(diǎn)矩形僅包含一個(gè)二值矩形,將該節(jié)點(diǎn)矩形作為分割的最終結(jié)果。

        ●若節(jié)點(diǎn)矩形與二值矩形相交或被二值矩形包含,將二值矩形分割為節(jié)點(diǎn)矩形部分與剩余部分,每個(gè)部分作為一個(gè)新的二值矩形。若節(jié)點(diǎn)矩形中僅包含一個(gè)新的二值矩形,則將節(jié)點(diǎn)矩形作為最終結(jié)果。

        ●若節(jié)點(diǎn)矩形包含了兩個(gè)及以上的二值矩形,若該節(jié)點(diǎn)為DOM樹(shù)的葉子結(jié)點(diǎn),則將該節(jié)點(diǎn)矩形作為分割的最終結(jié)果。否則,遍歷該節(jié)點(diǎn)的下一層子節(jié)點(diǎn),并進(jìn)行對(duì)比。

        經(jīng)過(guò)以上步驟,我們將得到最終的網(wǎng)頁(yè)分割。

        3 結(jié)語(yǔ)

        本文提出了一種新的基于文檔對(duì)象模型和圖像處理的網(wǎng)頁(yè)截圖分割方法,它通過(guò)圖像處理的方法得到初步圖像分割,并使用DOM信息約束它們,得到最終的結(jié)果。

        相比于Browserbite,我們的方法得到的分割結(jié)果更合理,更易于匹配。相比于WebDiff和CrossCheck,我們的方法需要對(duì)比的次數(shù)更少,計(jì)算開(kāi)銷(xiāo)更低。

        然而,本文的方法得到的結(jié)果仍有較少的假陽(yáng)性出現(xiàn),其主要原因來(lái)自DOM樹(shù)結(jié)構(gòu)的差異。我們未來(lái)希望提出不依賴(lài)于DOM樹(shù)的新的分割方法,以杜絕這種假陽(yáng)性。

        參考文獻(xiàn):

        [1]Mesbah A,Prasad M R.Automated Cross-browser Compatibility Testing[C].International Conference on Software Engineering.IEEE,2011:561-570.

        [2]Choudhary S R,Versee H,Orso A.WEBDIFF:Automated Identification of Cross-browser Issues in Web Applications[C].IEEE International Conference on Software Maintenance.IEEE Computer Society,2010:1-10.

        [3]Choudhary S R,Prasad M R,Orso A.CrossCheck:Combining Crawling and Differencing to Better Detect Cross-browser Incompatibilities in Web Applications[C].IEEE Fifth International Conference on Software Testing,Verification and Validation.IEEE Computer Society,2012:171-180.

        [4]Choudhary S R,Prasad M R,Orso A.X-PERT:Accurate Identification of Cross-Browser Issues in Web Applications[C].International Conference on Software Engineering.IEEE,2013:702-711.

        [5]Dallmeier V,Burger M,Orth T,et al.WebMate:Generating Test Cases for Web 2.0[J].2013,133:55-69.

        [6]Saar T,Dumas M,Kaljuve M,et al.Browserbite:Cross Browser Testing Via Image Processing[J].Software-Practice&Experience,2016,46(11):1459-1477.

        [7]Lu P,Fan W,Sun J,et al.Webpage Cross-browser Test From Image Level[C].IEEE International Conference on Multimedia and Expo.IEEE Computer Society,2017:349-354.

        [8]Harris C.A combined Corner and Edge Detector[J].Proc Alvey Vision Conf,1988,1988(3):147-151.

        猜你喜歡
        二值角點(diǎn)瀏覽器
        混沌偽隨機(jī)二值序列的性能分析方法研究綜述
        支持CNN與LSTM的二值權(quán)重神經(jīng)網(wǎng)絡(luò)芯片
        反瀏覽器指紋追蹤
        電子制作(2019年10期)2019-06-17 11:45:14
        基于二值形態(tài)學(xué)算子的軌道圖像分割新算法
        基于FAST角點(diǎn)檢測(cè)算法上對(duì)Y型與X型角點(diǎn)的檢測(cè)
        視頻圖像文字的二值化
        基于邊緣的角點(diǎn)分類(lèi)和描述算法
        電子科技(2016年12期)2016-12-26 02:25:49
        基于圓環(huán)模板的改進(jìn)Harris角點(diǎn)檢測(cè)算法
        環(huán)球?yàn)g覽器
        再見(jiàn),那些年我們嘲笑過(guò)的IE瀏覽器
        在线亚洲精品一区二区三区| 免费人成再在线观看网站| 激情五月天伊人久久| 国产一区二区精品久久呦| 国产日韩精品中文字幕| 精品丰满人妻无套内射| 福利在线国产| 蜜臀av人妻一区二区三区| 一本色道久久88—综合亚洲精品 | 国产成人av综合色| 国产尤物自拍视频在线观看| 亚洲av永久无码精品古装片| 欧美丰满熟妇aaaaa片| 午夜不卡亚洲视频| 亚洲国产一区一区毛片a| 欧洲熟妇色| 日本强好片久久久久久aaa| 亚洲AV秘 无码一区二区在线| 亚洲精品久久视频网站| 久久精品亚洲一区二区三区浴池| 国产精品高潮呻吟av久久无吗| 亚洲国产不卡av一区二区三区| 偷拍一区二区三区高清视频| 777精品久无码人妻蜜桃| 综合网在线视频| 国产99久久久国产精品免费| 亚洲午夜无码毛片av久久| 免费a级毛片无码无遮挡| 激情 一区二区| 一区二区三区日本高清| 国产一区二区三区免费观看在线| 国产精品无需播放器| 日本成人在线不卡一区二区三区| 日韩中文字幕版区一区二区三区| 少妇性l交大片| 无码超乳爆乳中文字幕| 日韩av天堂一区二区三区在线| 国产av一区二区三区传媒| 久久精品无码一区二区三区不| 日韩精品一区二区三区av| 国产黄大片在线观看画质优化 |