本發(fā)明涉及計(jì)算機(jī),特別涉及一種瀏覽器實(shí)例間同步鼠標(biāo)操作的方法、裝置、設(shè)備和介質(zhì)。
背景技術(shù):
1、目前在很多領(lǐng)域,很多客戶都有批量管理網(wǎng)站賬號的需求。由于單個(gè)瀏覽器實(shí)例相同的站點(diǎn),同時(shí)只能登錄一個(gè)賬號,客戶通常會(huì)打開多個(gè)瀏覽器實(shí)例進(jìn)行多賬號管理。為了提升用戶多賬號管理效率,因此催生了同步器,目前市面上有兩種主流的同步器方案,它們各自都有一些技術(shù)上的缺陷和限制:
2、第一種方案:基于絕對坐標(biāo)位置進(jìn)行同步,即同步器在獲取到鼠標(biāo)離主控瀏覽器左上角坐標(biāo)位置后,就將該坐標(biāo)直接同步給從控瀏覽器。該技術(shù)方案帶來了如下的缺點(diǎn)和限制:
3、1、要求主控瀏覽器和從控瀏覽器完全保持大小一致,無法很好的適應(yīng)主控瀏覽器和從控瀏覽器大小不一的業(yè)務(wù)場景;
4、2、要求用戶每次同步事件時(shí),主控瀏覽器和從控瀏覽器必須保持完全一致的頁面,否則就會(huì)出現(xiàn)同步到錯(cuò)誤的元素;這通常需要用戶人為觀察從控瀏覽器并手動(dòng)進(jìn)行糾正,從而降低用戶同步成功率和效率,違背了同步器提效的初衷;
5、3、無法很好兼容不同內(nèi)核的瀏覽器,不同內(nèi)核瀏覽器在界面上有細(xì)微差異,導(dǎo)致事件同步到錯(cuò)誤的元素上;
6、4、元素不在瀏覽器可視區(qū)域時(shí),無法進(jìn)行同步。
7、第二種方案:基于純web技術(shù)來實(shí)現(xiàn)基于元素位置的同步,這種方案存在限制如下:
8、1、無法同步瀏覽器原生區(qū)域和第三方插件的操作;
9、2、需要在網(wǎng)頁中注入代碼來進(jìn)行事件模擬執(zhí)行,容易被站點(diǎn)識別為機(jī)器行為。
10、基于此,亟需提供一種基于元素定位的同步器方法來解決上述問題。
技術(shù)實(shí)現(xiàn)思路
1、本發(fā)明要解決的技術(shù)問題,在于提供一種瀏覽器實(shí)例間同步鼠標(biāo)操作的方法、裝置、設(shè)備和介質(zhì),準(zhǔn)確的實(shí)現(xiàn)瀏覽器實(shí)例間同步,提高用戶體驗(yàn)感。
2、第一方面,本發(fā)明提供了一種瀏覽器實(shí)例間同步鼠標(biāo)操作的方法,包括如下步驟:
3、步驟1、通過監(jiān)聽window系統(tǒng)鼠標(biāo)事件,并判斷鼠標(biāo)是否在主控瀏覽器內(nèi),若是,則進(jìn)入步驟2;若否,則結(jié)束步驟;
4、步驟2、根據(jù)鼠標(biāo)的當(dāng)前坐標(biāo),判斷當(dāng)前坐標(biāo)位于主控瀏覽器的原生區(qū)域、網(wǎng)頁區(qū)域或第三方插件區(qū)域;根據(jù)對應(yīng)區(qū)域選擇對應(yīng)選擇器;
5、步驟3、根據(jù)所述選擇器獲取從控瀏覽器中的元素坐標(biāo);
6、步驟4、將所述鼠標(biāo)事件發(fā)送至從控瀏覽器,根據(jù)獲取到的坐標(biāo)元素坐標(biāo)執(zhí)行所述鼠標(biāo)事件。
7、第二方面,本發(fā)明提供了一種瀏覽器實(shí)例間同步鼠標(biāo)操作的裝置,包括如下模塊:
8、監(jiān)聽判斷模塊,通過監(jiān)聽window系統(tǒng)鼠標(biāo)事件,并判斷鼠標(biāo)是否在主控瀏覽器內(nèi),若是,則進(jìn)入獲取選擇器模塊;若否,則結(jié)束;
9、獲取選擇器模塊,根據(jù)鼠標(biāo)的當(dāng)前坐標(biāo),判斷當(dāng)前坐標(biāo)位于主控瀏覽器的原生區(qū)域、網(wǎng)頁區(qū)域或第三方插件區(qū)域;根據(jù)對應(yīng)區(qū)域選擇對應(yīng)選擇器;
10、坐標(biāo)獲取模塊,根據(jù)所述選擇器獲取從控瀏覽器中的元素坐標(biāo);
11、同步模塊,將所述鼠標(biāo)事件發(fā)送至從控瀏覽器,根據(jù)獲取到的坐標(biāo)元素坐標(biāo)執(zhí)行所述鼠標(biāo)事件。
12、第三方面,本發(fā)明提供了一種電子設(shè)備,包括存儲(chǔ)器、處理器及存儲(chǔ)在存儲(chǔ)器上并可在處理器上運(yùn)行的計(jì)算機(jī)程序,所述處理器執(zhí)行所述程序時(shí)實(shí)現(xiàn)第一方面所述的方法。
13、第四方面,本發(fā)明提供了一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其上存儲(chǔ)有計(jì)算機(jī)程序,該程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)第一方面所述的方法。
14、本發(fā)明實(shí)施例中提供的一個(gè)或多個(gè)技術(shù)方案,至少具有如下技術(shù)效果或優(yōu)點(diǎn):
15、本申請實(shí)施例提供的方法、裝置、設(shè)備和介質(zhì),支持主控瀏覽器和從控瀏覽器大小一致的業(yè)務(wù)場景;解決了主從控瀏覽器之間頁面存在差異時(shí)的同步失敗問題;完整的實(shí)現(xiàn)了瀏覽器全部區(qū)域基于元素位置的同步操作,包含了瀏覽器的網(wǎng)頁區(qū)域;瀏覽器原生區(qū)域;瀏覽器的第三方插件;所述瀏覽器原生區(qū)域包括:瀏覽器上方的標(biāo)題欄(最大化、最小化、關(guān)閉按鈕等),工具欄,url地址欄,書簽欄,菜單欄;
16、使用系統(tǒng)級別api進(jìn)行事件模擬,解決了被識別為機(jī)器人的風(fēng)險(xiǎn);能夠很好的兼容不同版本瀏覽器內(nèi)核;解決了元素不在可視區(qū)域的無法同步的問題;通過結(jié)合瀏覽器器插件和ui?automation技術(shù),帶來更好的性能。
17、上述說明僅是本發(fā)明技術(shù)方案的概述,為了能夠更清楚了解本發(fā)明的技術(shù)手段,而可依照說明書的內(nèi)容予以實(shí)施,并且為了讓本發(fā)明的上述和其它目的、特征和優(yōu)點(diǎn)能夠更明顯易懂,以下特舉本發(fā)明的具體實(shí)施方式。
1.一種瀏覽器實(shí)例間同步鼠標(biāo)操作的方法,其特征在于,包括如下步驟:
2.根據(jù)權(quán)利要求1所述的一種瀏覽器實(shí)例間同步鼠標(biāo)操作的方法,其特征在于,所述步驟2具體為:根據(jù)鼠標(biāo)的當(dāng)前坐標(biāo),判斷當(dāng)前坐標(biāo)位于主控瀏覽器的原生區(qū)域、網(wǎng)頁區(qū)域或第三方插件區(qū)域;
3.根據(jù)權(quán)利要求2所述的一種瀏覽器實(shí)例間同步鼠標(biāo)操作的方法,其特征在于,所述步驟3具體為:
4.根據(jù)權(quán)利要求1所述的一種瀏覽器實(shí)例間同步鼠標(biāo)操作的方法,其特征在于,所述步驟4具體為:
5.一種瀏覽器實(shí)例間同步鼠標(biāo)操作的裝置,其特征在于,包括如下模塊:
6.根據(jù)權(quán)利要求5所述的一種瀏覽器實(shí)例間同步鼠標(biāo)操作的裝置,其特征在于,所述獲取選擇器模塊具體為:根據(jù)鼠標(biāo)的當(dāng)前坐標(biāo),判斷當(dāng)前坐標(biāo)位于主控瀏覽器的原生區(qū)域、網(wǎng)頁區(qū)域或第三方插件區(qū)域;
7.根據(jù)權(quán)利要求6所述的一種瀏覽器實(shí)例間同步鼠標(biāo)操作的裝置,其特征在于,所述坐標(biāo)獲取模塊具體為:
8.根據(jù)權(quán)利要求5所述的一種瀏覽器實(shí)例間同步鼠標(biāo)操作的裝置,其特征在于,所述同步模塊具體為:
9.一種電子設(shè)備,包括存儲(chǔ)器、處理器及存儲(chǔ)在存儲(chǔ)器上并可在處理器上運(yùn)行的計(jì)算機(jī)程序,其特征在于,所述處理器執(zhí)行所述程序時(shí)實(shí)現(xiàn)如權(quán)利要求1至4任一項(xiàng)所述的方法。
10.一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其上存儲(chǔ)有計(jì)算機(jī)程序,其特征在于,該程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)如權(quán)利要求1至4任一項(xiàng)所述的方法。