2016-04-05 52 views
0

我有一個用java編寫的Sikuli腳本來點擊Windows的開始按鈕,然後點擊「所有程序」。該腳本在我的計算機上工作得非常好,但是當我將相同的腳本傳輸到另一臺計算機時,它不起作用。在多臺電腦上運行Sikuli腳本

代碼:

Screen screen = new Screen(); 
screen.type(Key.WIN); 
screen.click(IMAGE_DIR + "program.PNG"); 

我使用的概念,如WaitPattern和相似但不能夠解決這個問題。不知道這是否是sikuli的限制。

+0

你如何運行腳本?這兩種情況都是一樣嗎?你有任何錯誤?你的代碼到底在哪裏失敗? –

+0

根據我的經驗,除非兩臺電腦的顯示器(大小,分辨率等)完全相同,否則在嘗試在第二臺電腦上查找圖像時,Sikuli可能會失敗。如果同樣的事情可以通過擊鍵或鍵盤快捷鍵完成,你會有更好的運氣,IMO。 – autoKarma

+0

@Eugene:正如autoKarma所說,它無法在第二臺電腦中找到圖像,但顯示分辨率等是相同的,除了第二臺機器是筆記本電腦 –

回答

0

就像在評論中已經提到的那樣,屏幕分辨率的差異將會破壞你現有的腳本,因爲Sikuli對它們超級敏感。在這種情況下,唯一的解決辦法是重新捕獲模式並在每臺機器上使用不同的模式。

但是,如果您有這樣的問題,但屏幕分辨率似乎是相同的,那麼應該檢查的東西更少。

清除類型,這是微軟的子像素渲染實現,應該是改善字體的視覺外觀。如果您在一臺機器上啓用了此功能並在另一臺機器上關閉,則可能是一個問題。

屏幕字體的平滑邊緣可在「性能選項」的「視覺效果」設置窗口中找到的設置。它的確如它所說的那樣,平滑了Windows字體以改善外觀。和ClearType的情況一樣,這個特性應該在你運行腳本的兩臺機器上關閉或打開。一般建議總是避免這類問題。

+0

感謝@Eugene的回覆。 –

相關問題