TWI762907B - 模擬真人操作的方法及電子裝置 - Google Patents
模擬真人操作的方法及電子裝置 Download PDFInfo
- Publication number
- TWI762907B TWI762907B TW109112634A TW109112634A TWI762907B TW I762907 B TWI762907 B TW I762907B TW 109112634 A TW109112634 A TW 109112634A TW 109112634 A TW109112634 A TW 109112634A TW I762907 B TWI762907 B TW I762907B
- Authority
- TW
- Taiwan
- Prior art keywords
- cursor
- input
- processing unit
- dwell
- data
- Prior art date
Links
Images
Landscapes
- User Interface Of Digital Computer (AREA)
Abstract
一種模擬真人操作的方法,藉由處理單元實施,並包含:獲取游標起始位置及游標目的位置;計算出游標位置資料及停留時間資料,該游標位置資料包含一個或多個有順序的游標停留位置,該停留時間資料包含一個或多個分別對應於該游標位置資料的該游標停留位置或該等游標停留位置的游標停留時間;以模擬滑鼠被移動的方式,控制滑鼠游標從該游標起始位置出發,且依序經過該游標停留位置或該等游標停留位置,且最後移動至該游標目的位置,且於移動至每一游標停留位置後並於移動至下一個游標停留位置之前停留對應於該游標停留位置的該游標停留時間。
Description
本發明是有關於一種模擬的方法,特別是指一種能以一電子裝置執行的模擬真人操作的方法。
在透過現有的模擬真人操作的軟體登入某個網頁時,若該網頁設有檢測是否為真人藉由操作一電腦進行登入的機制時,使用現有的模擬真人操作的軟體的電腦便容易被上述機制發現目前該電腦並非由真人所操作而不被允許登入。
因此,現有的模擬真人操作的軟體仍存在改良空間。
因此,本發明的目的,即在提供一種能解決現有技術中至少一缺點的模擬真人操作的方法。
於是,本發明之模擬真人操作的方法,藉由一處理單元實施,該方法包含:
(A)獲取一游標起始位置及一游標目的位置。
(B)計算出一游標位置資料及一停留時間資料,該游標位
置資料包含一個或多個有順序的游標停留位置,該停留時間資料包含一個或多個分別對應於該游標位置資料的該游標停留位置或該等游標停留位置的游標停留時間。
(C)以模擬一滑鼠被移動的方式,控制一滑鼠游標從該游標起始位置出發,且依序經過該游標停留位置或該等游標停留位置,且最後移動至該游標目的位置,且於移動至每一游標停留位置後並於移動至下一個游標停留位置之前停留對應於該游標停留位置的該游標停留時間。
在一些實施態樣中,於步驟(A)中還獲取一輸入資料,該輸入資料包含N個有順序的輸入值,N為大於1的整數,於步驟(B)還計算出一間隔時間資料,該間隔時間資料包含N-1個分別對應於第1個至第N-1個所述輸入值的一個或多個輸入間隔時間,於步驟(C)之後還包含:(D)以模擬一鍵盤被操作的方式,依序將該輸入資料的該等輸入值輸入至一虛擬圖形化使用者介面,且於輸入第1個至第N-1個所述輸入值時,於輸入每一輸入值後並於輸入下一個輸入值前,停留對應於該輸入值的該輸入間隔時間。
在一些實施態樣中,該等游標停留時間彼此並非完全相等,該等輸入間隔時間彼此並非完全相等。
在一些實施態樣中,該停留時間資料還包含一對應於該游標目的位置的最終停留時間,於步驟(C)中,於移動至該游標目
的位置後停留對應於該游標目的位置的該最終停留時間。
在一些實施態樣中,所述模擬真人操作的方法,於步驟(C)之後還包含:(E)模擬該滑鼠的一按鍵被按下。
在一些實施態樣中,所述模擬真人操作的方法,於步驟(C)之後且於步驟(D)之前還包含:(E)模擬該滑鼠的一按鍵被按下。
在一些實施態樣中,該游標起始位置、該游標目的位置及該輸入資料是預先儲存於一電連接該處理單元的儲存單元。
在一些實施態樣中,該處理單元能與一遠端伺服器通訊,於步驟(A)中該處理單元是自該遠端伺服器接收該游標起始位置、該游標目的位置及該輸入資料。
本發明之另一目的,即在提供一種模擬真人操作的方法。
該方法包含:(A)計算出對應於包含N個有順序的輸入值的一輸入資料的一間隔時間資料,N為大於1的整數,該間隔時間資料包含N-1個分別對應於第1個至第N-1個所述輸入值的一個或多個輸入間隔時間。(B)以模擬一鍵盤被操作的方式,依序輸入該等輸入值至一虛擬圖形化使用者介面,且於輸入第1個至第N-1個輸入值時,於輸入每一輸入值後且於輸入下一個輸入值前,停留對應於該輸入值的該輸入間隔時間。
此外,本發明實現上述方法的一種電子裝置,包含一儲存單元及一處理單元。該處理單元電連接該儲存單元,並根據該游
標起始位置及該游標目的位置,計算出一游標位置資料及一停留時間資料,該游標位置資料包含一個或多個有順序的游標停留位置,該停留時間資料包含一個或多個分別對應於該游標位置資料的該游標停留位置或該等游標停留位置的游標停留時間。該處理單元以模擬一滑鼠被移動的方式,控制一滑鼠游標從該游標起始位置出發,且依序經過該游標停留位置或該等游標停留位置,且最後移動至該游標目的位置,且於移動至每一游標停留位置後並於移動至下一個游標停留位置之前停留對應於該游標停留位置的該游標停留時間。
在一些實施態樣中,該儲存單元還儲存包含N個有順序的輸入值的一輸入資料,N為大於1的整數,該處理單元還計算出一間隔時間資料,該間隔時間資料包含N-1個分別對應於第1個至第N-1個所述輸入值的一個或多個輸入間隔時間;該處理單元以模擬一鍵盤被操作的方式,依序將該輸入資料的該等輸入值輸入至一虛擬圖形化使用者介面,且於輸入第1個至第N-1個所述輸入值時,於輸入每一輸入值後並於輸入下一個輸入值前,停留對應於該輸入值的該輸入間隔時間。
本發明的功效在於:本發明之模擬真人操作的方法藉由該處理單元產生分別對應於該等游標停留位置的該或該等游標停留時間及分別對應於第1個至第N-1個所述輸入值的該或該等輸入
間隔時間,並在控制該滑鼠游標移動至每一該游標停留位置停留對應之該游標停留時間,以模擬該滑鼠為真人所操作,以及,該處理單元在輸入每一輸入值後並於輸入下一個輸入值前,停留對應之該輸入間隔時間,以模擬該鍵盤為真人所操作,進而使該處理單元所執行的模擬該滑鼠或該鍵盤被操作的動作不容易被辨識機器人的軟體發現。
100:電子裝置
10:處理單元
20:儲存單元
200:通訊網路
300:遠端伺服器
S1~S6:步驟
本發明的其他的特徵及功效,將於參照圖式的實施方式中清楚地呈現,其中:圖1是一硬體連接關係示意圖,說明本發明之一電子裝置與一遠端伺服器的連接關係;及圖2(圖2A及圖2B)是本發明之模擬真人操作的方法的一流程圖。
在本發明被詳細描述之前,應當注意在以下的說明內容中,類似的元件是以相同的編號來表示。
參閱圖1,本發明之模擬真人操作的方法的一實施例,能藉由一電子裝置100實施,該電子裝置100能透過一通訊網路200電連接一遠端伺服器300,並與該遠端伺服器300通訊。
該電子裝置100例如為但不限於一個人電腦、一平板電
腦或一智慧型手機,並包含一處理單元10及電連接該處理單元10的一儲存單元20。
於此實施例中,該處理單元10例如為但不限於一個人電腦內部的中央處理器(CPU,Central Process Unit),該儲存單元20例如為非揮發性記憶體(Non-Volatile Memory)。
參閱圖1及圖2,以下說明本實施例之步驟。
參閱步驟S1,該處理單元10獲取一游標起始位置、一游標目的位置及包含N個輸入值的一輸入資料,其中N為大於1的整數。
更明確地說,該處理單元10是自該儲存單元20獲取該游標起始位置、該游標目的位置及該輸入資料。該游標起始位置及該游標目的位置於此實施例中,所指的是一顯示器(圖未示)中像素的位置,且該游標起始位置包含一起始橫座標位置及一起始縱座標位置,該游標目的位置包含一目的橫座標位置及一目的縱座標位置。該N個輸入值例如為美國資訊交換標準代碼(ASCII,American Standard Code for Information Interchange)。於其他實施態樣中,該N個輸入資料可以是萬國碼(Unicode),並不以ASCII為限。
應注意的是,於其他實施態樣中,該處理單元10可以是透過通訊網路200與該遠端伺服器300通訊並自該遠端伺服器300
獲取該游標起始位置、該游標目的位置及該輸入資料。此外,該處理單元10也可以只獲取該游標起始位置及該游標目的位置,而不獲取該輸入資料,或反之,並非一定都要獲取該游標起始位置及該游標目的位置與該輸入資料。接著執行步驟S2。
參閱步驟S2,該處理單元10計算出包含一個或多個有順序的游標停留位置的一游標位置資料、包含一個或多個分別對應於該游標位置資料的該游標停留位置或該等游標停留位置及對應於該游標目的位置的一最終停留時間的游標停留時間的一停留時間資料,及包含N-1個分別對應於第1個至第N-1個所述輸入值的輸入間隔時間的一間隔時間資料。
更明確地說,該處理單元10會先根據該游標起始位置及該游標目的位置計算出自游標起始位置延伸至該游標目的位置的一游標路徑,該游標路徑可以是一直線或一曲線,並選取位於該游標路徑上的一個或多個位置作為該游標停留位置或該等游標停留位置,且每一游標停留位置包括一游標橫座標位置及一游標縱座標位置。
於此實施例中,該處理單元10是隨機產生該等停留時間資料及該等輸入間隔時間,使該等該等停留時間資料及該等輸入間隔時間彼此並非完全相同。
舉例說明該處理單元10產生該等停留時間資料的方式,
該處理單元10先隨機產生一個介於0~2的數(取自小數點後第一位),將該數乘上10後,再加上100,使產生出來的數值能界在100~120之間。而該等輸入間格時間也能以類似的方式產生,上述方式僅為舉例說明,並不以此為限。接著執行步驟S3。
參閱步驟S3,該處理單元10以模擬一滑鼠(圖未示)被移動的方式,控制一滑鼠游標(圖未示)從該游標起始位置出發,且依序經過該游標停留位置或該等游標停留位置,且最後移動至該游標目的位置,且於移動至每一游標停留位置後並於移動至下一個游標停留位置之前停留對應於該游標停留位置的該游標停留時間,藉由在每一游標停留位置接停留對應之該游標停留時間,以避免直接將該滑鼠游標顯示於該游標目的位置,進而模擬真人以滑鼠操控該滑鼠游標自該游標起始位置移動至該游標目的位置時所產的時間延遲。
更進一步地說,該處理單元10是根據每一游標停留位置的該游標橫座標位置及該游標縱座標位置,並以MoveTo( )函數,將該滑鼠游標移動至該游標停留位置。在移動該滑鼠游標至該游標停留位置後,再利用Sleep( )函數暫停對應於該游標停留位置的該游標停留時間所指示的時間長度(單位:毫秒)。接著執行步驟S4。
參閱步驟S4,當該處理單元10將該滑鼠游標移動到最後一個所述游標停留位置並停留對應之該游標停留時間後,該處理單
元10控制該滑鼠游標移動至該游標目的位置,並停留對應於該游標目的位置的該最終停留時間。接著執行步驟S5。
參閱步驟S5,當該處理單元10將該滑鼠游標於該游標目的位置並停留該最終停留時間後,該處理單元10利用MouseClick、DoubleClick、MouseDown或MouseUp,模擬該滑鼠所執行的行為,所述行為例如該滑鼠的一按鍵(圖未示)被點擊、被雙重點擊、被向下壓或由被下壓狀態鬆開。接著執行步驟S6。
參閱步驟S6,該處理單元10以模擬一鍵盤(圖未示)被操作的方式,依序將該輸入資料的該N個輸入值輸入至一虛擬圖形化使用者介面,於此實施例中,該處理單元利用Keydown及Keypress輸入該N個輸入值,且於輸入第1個至第N-1個所述輸入值時,於輸入每一輸入值後並於輸入下一個輸入值前,停留對應於該輸入值的該輸入間隔時間,以避免在同一時間點輸入全部的所述輸入值,進而模擬真人在以鍵盤按鍵輸入該等輸入值時,按下每個鍵與鍵之間所存在的時間差。
更明確地說,該虛擬圖形化使用者介面可以是一網頁、一手機頁面或一APP的操作介面…等。且該處理單元10是根據每一輸入值所表示的符號或字元,將該輸入值所對應的符號或字元輸入至該虛擬圖形化使用者介面。
需補充說明的是,由於該處理單元10是在輸入兩輸入值
之間停留對應之輸入間格時間,因此,該等輸入間隔時間的數量會比該等輸入值的數量少一個。
特別說明的是,在其他實施態樣中,若在步驟S5中,該處理單元10控制該滑鼠游標所點下的物件並不是能供輸入符號或字元的文字方塊,或是該處理單元10控制該滑鼠游標點下一物件後,並未出現能供輸入符號或字元的文字方塊,則在執行完步驟S5後就直接結束此流程,便不會進入步驟S6。
綜上所述,本發明之模擬真人操作的方法藉由該處理單元10產生分別對應於該等游標停留位置的該或該等游標停留時間及分別對應於第1個至第N-1個所述輸入值的該或該等輸入間隔時間,並在控制該滑鼠游標移動至每一該游標停留位置停留對應之該游標停留時間,以模擬該滑鼠為真人所操作,以及,該處理單元10在輸入每一輸入值後並於輸入下一個輸入值前,停留對應之該輸入間隔時間,以模擬該鍵盤為真人所操作,進而使該處理單元10所執行的模擬該滑鼠或該鍵盤被操作的動作不容易被辨識機器人的軟體發現,故確實能達成本發明的目的。
惟以上所述者,僅為本發明的實施例而已,當不能以此限定本發明實施的範圍,凡是依本發明申請專利範圍及專利說明書內容所作的簡單的等效變化與修飾,皆仍屬本發明專利涵蓋的範圍內。
100:電子裝置
10:處理單元
20:儲存單元
200:通訊網路
300:遠端伺服器
Claims (13)
- 一種模擬真人操作的方法,藉由一處理單元實施,該方法包含:(A)獲取一游標起始位置及一游標目的位置;(D)根據該游標起始位置及該游標目的位置計算出自該游標起始位置延伸至該游標目的位置的一游標路徑;(B)計算出一游標位置資料及一停留時間資料,該游標位置資料包含一個或多個有順序且位於該游標路徑上的游標停留位置,該停留時間資料包含一個或多個分別對應於該游標位置資料的該游標停留位置或該等游標停留位置的游標停留時間;及(C)以模擬一滑鼠被移動的方式,控制一滑鼠游標從該游標起始位置出發,且依序經過該游標停留位置或該等游標停留位置,且最後移動至該游標目的位置,且於移動至每一游標停留位置後並於移動至下一個游標停留位置之前停留對應於該游標停留位置的該游標停留時間。
- 如請求項1所述的模擬真人操作的方法,其中,於步驟(A)中還獲取一輸入資料,該輸入資料包含N個有順序的輸入值,N為大於1的整數,於步驟(B)還計算出一間隔時間資料,該間隔時間資料包含N-1個分別對應於第1個至第N-1個所述輸入值的一個或多個輸入間隔時間,於步驟(C)之後還包含: (D)以模擬一鍵盤被操作的方式,依序將該輸入資料的該等輸入值輸入至一虛擬圖形化使用者介面,且於輸入第1個至第N-1個所述輸入值時,於輸入每一輸入值後並於輸入下一個輸入值前,停留對應於該輸入值的該輸入間隔時間。
- 如請求項2所述的模擬真人操作的方法,其中,該等游標停留時間彼此並非完全相等,該等輸入間隔時間彼此並非完全相等。
- 如請求項1所述的模擬真人操作的方法,其中,該停留時間資料還包含一對應於該游標目的位置的最終停留時間,於步驟(C)中,於移動至該游標目的位置後停留對應於該游標目的位置的該最終停留時間。
- 如請求項1所述的模擬真人操作的方法,於步驟(C)之後還包含:(E)模擬該滑鼠的一按鍵被按下。
- 如請求項2所述的模擬真人操作的方法,於步驟(C)之後且於步驟(D)之前還包含:(E)模擬該滑鼠的一按鍵被按下。
- 如請求項2所述的模擬真人操作的方法,其中,該處理單元能與一遠端伺服器通訊,於步驟(A)中該處理單元是自該遠端伺服器接收該游標起始位置、該游標目的位置及該輸入資料。
- 一種電子裝置,包含:一儲存單元,儲存一游標起始位置及一游標目的位 置;及一處理單元,電連接該儲存單元,並根據該游標起始位置及該游標目的位置,計算出自該游標起始位置延伸至該游標目的位置的一游標路徑,計算出一游標位置資料及一停留時間資料,該游標位置資料包含一個或多個有順序且位於該游標路徑上的游標停留位置,該停留時間資料包含一個或多個分別對應於該游標位置資料的該游標停留位置或該等游標停留位置的游標停留時間;其中,該處理單元以模擬一滑鼠被移動的方式,控制一滑鼠游標從該游標起始位置出發,且依序經過該游標停留位置或該等游標停留位置,且最後移動至該游標目的位置,且於移動至每一游標停留位置後並於移動至下一個游標停留位置之前停留對應於該游標停留位置的該游標停留時間。
- 如請求項8所述的電子裝置,其中,該儲存單元還儲存包含N個有順序的輸入值的一輸入資料,N為大於1的整數,該處理單元還計算出一間隔時間資料,該間隔時間資料包含N-1個分別對應於第1個至第N-1個所述輸入值的一個或多個輸入間隔時間;該處理單元以模擬一鍵盤被操作的方式,依序將該輸入資料的該等輸入值輸入至一虛擬圖形化使用者介面,且於輸入第1個至第N-1個所述輸入值時,於輸入每一輸入值後並於輸入下一個輸入值前,停留對應於該輸入值的該輸入間隔時間。
- 如請求項8所述的電子裝置,還適於透過通訊網路電連接一遠端伺服器,該遠端伺服器能與該處理單元通訊,其中,該處理單元是自該遠端伺服器接收該游標起始位置、該游標目的位置及該輸入資料,並將該游標起始位置、該游標目的位置及該輸入資料儲存於該儲存單元。
- 如請求項8所述的電子裝置,其中,該停留時間資料還包含一對應於該游標目的位置的最終停留時間,該處理單元於移動該滑鼠游標至該游標目的位置後停留對應於該游標目的位置的該最終停留時間。
- 如請求項11所述的電子裝置,其中,該處理單元移動該滑鼠游標至該游標目的位置,並停留對應於該游標目的位置的該最終停留時間後,模擬該滑鼠的一按鍵被按下。
- 如請求項9所述的電子裝置,其中,該處理單元於停留對應於最後一所述輸入值的該輸入間隔時間後,模擬該滑鼠的一按鍵被按下。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW109112634A TWI762907B (zh) | 2020-04-15 | 2020-04-15 | 模擬真人操作的方法及電子裝置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW109112634A TWI762907B (zh) | 2020-04-15 | 2020-04-15 | 模擬真人操作的方法及電子裝置 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202143070A TW202143070A (zh) | 2021-11-16 |
TWI762907B true TWI762907B (zh) | 2022-05-01 |
Family
ID=80783335
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW109112634A TWI762907B (zh) | 2020-04-15 | 2020-04-15 | 模擬真人操作的方法及電子裝置 |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI762907B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102193644A (zh) * | 2010-03-16 | 2011-09-21 | 鸿富锦精密工业(深圳)有限公司 | 计算机系统和模拟键盘输入的方法 |
TWI622877B (zh) * | 2016-05-09 | 2018-05-01 | 國立中央大學 | System and method for recording and replaying mouse behavior, recording media and program products |
US20190340944A1 (en) * | 2016-08-23 | 2019-11-07 | Shenzhen Eaglesoul Technology Co., Ltd. | Multimedia Interactive Teaching System and Method |
-
2020
- 2020-04-15 TW TW109112634A patent/TWI762907B/zh active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102193644A (zh) * | 2010-03-16 | 2011-09-21 | 鸿富锦精密工业(深圳)有限公司 | 计算机系统和模拟键盘输入的方法 |
TWI622877B (zh) * | 2016-05-09 | 2018-05-01 | 國立中央大學 | System and method for recording and replaying mouse behavior, recording media and program products |
US20190340944A1 (en) * | 2016-08-23 | 2019-11-07 | Shenzhen Eaglesoul Technology Co., Ltd. | Multimedia Interactive Teaching System and Method |
Non-Patent Citations (1)
Title |
---|
網路文獻韕ShengYu韕Python PyAutoGUI 使用教學韕 韕 韕ShengYu Talk韕2019/11/26韕 韕https://shengyu7697.github.io/python-pyautogui/ * |
Also Published As
Publication number | Publication date |
---|---|
TW202143070A (zh) | 2021-11-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11687631B2 (en) | Method for generating a human likeness score | |
CN105164616B (zh) | 用于输出候选字符串的方法、计算设备及存储介质 | |
CN106716934B (zh) | 聊天交互方法、装置及其电子设备 | |
US9152529B2 (en) | Systems and methods for dynamically altering a user interface based on user interface actions | |
JP6640893B2 (ja) | 文字を入力する方法及び装置 | |
WO2018045774A1 (zh) | 应用程序控制方法和装置 | |
JP2016531352A (ja) | 入力システムをアップデートする方法、デバイス、プログラム及びデバイス | |
CN104718512A (zh) | 特定于上下文的自动分隔符 | |
US9838490B2 (en) | Communication apparatus, server, communication apparatus control method, server control method, recording medium containing communication apparatus control program and recording medium containing server control program | |
CN112698895A (zh) | 电子设备的显示方法、装置、设备和介质 | |
CN108664286A (zh) | 应用程序预加载方法、装置、存储介质及移动终端 | |
Jiang et al. | A gesture-based captcha design supporting mobile devices | |
Arroba et al. | A methodology for developing accessible mobile platforms over leading devices for visually impaired people | |
TWI505173B (zh) | 提高手持裝置觸碰鍵盤辨識率的系統和方法 | |
TWI762907B (zh) | 模擬真人操作的方法及電子裝置 | |
US9633193B2 (en) | Server, user apparatus and terminal device | |
TWM598438U (zh) | 模擬真人操作之電子裝置 | |
JP7092282B2 (ja) | スキルサービスの更新方法、装置、電子機器、プログラム及び可読記憶媒体 | |
CN107168552A (zh) | 输入方法、输入装置和电子设备 | |
CN107483548A (zh) | 移动终端控制系统、方法、移动终端及存储介质 | |
WO2016091045A1 (zh) | 信息处理方法、装置、设备及非易失性计算机存储介质 | |
CN112755510A (zh) | 一种移动端云游戏控制方法、系统和计算机可读存储介质 | |
KR101560748B1 (ko) | 스마트폰을 이용한 원격 제어 시스템 장치 및 그 동작 방법 | |
KR101991453B1 (ko) | 단축키가 시각화된 정보 입력 디바이스의 제어 시스템 및 방법 | |
US20190324589A1 (en) | Input device with touch sensitive surface |