2011-07-27 158 views
2

我需要運行使用Watir gem的Ruby腳本的幾個實例,並且它們都需要能夠以IE全屏模式運行。使用Watir時,我可以將-f參數傳遞給iexplore.exe嗎?

澄清:他們需要能夠在一個模式允許多個IE的情況下,在全屏模式下運行,並不一定觸發全屏打開IE瀏覽器。通常打開IE只允許一個實例打開全屏(沒有最大化)。

我可以通過在iexplore.exe上指定'-f'參數來手動完成此操作。從Watir創建瀏覽器對象時有什麼辦法可以做到這一點?

如果我不能將它作爲某種運行時參數發生時,我可以更改打開IE的Watir調用 - 如果我可以並且可以找到它。

require 'watir' 
browser = Watir::Browser.new <--- adding '-f' somehow here? 
+0

爲了好奇,爲什麼腳本需要運行全景? –

+0

他們將導航到某個網站上的某些地圖,它將在一個鐵路道路的大型控制中心運行,他們希望地圖完全全屏......只是一個要求。 – rfusca

回答

2

試試這個,它爲我工作在IE 9。

browser = Watir::Browser.new 
browser.goto 'http://www.google.com' 
browser.getIE.parent.FullScreen = true 

編輯:我發現一個registry setting可能會做你正在嘗試。

[HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main] 
Fullscreen = "yes" (Default = "no") 
+0

這不是*完全相同的事情。 *能*以全屏模式運行並實際以全屏模式打開它們有些不同。他們將運行腳本,將地圖放在他們想要的顯示器上,然後點擊全屏按鈕。但是,通常IE以一次只允許一個屏幕全屏的方式打開。因此,我需要一種方式*能夠全屏運行*。 – rfusca

+0

我添加了更改註冊表的另一個選項,因此IE始終以全屏模式啓動。 –

0

感覺的hackish,但我想通了,我可以這樣做(但我喜歡一個更好的方法):

require 'watir' 
IO.popen('C:\\Program Files\\Internet Explorer\\iexplore.exe -f "newwindow"') 
browser = Watir::IE.attach(:title,/newwindow/) 
1

你嘗試

browser.maximize 

它僅適用於IE瀏覽器,但它是一個已經證明了一段時間的選項(參見watir cheat-sheet

當然,你需要也許是考慮爲什麼瀏覽器需要全屏運行,或者如果將腳本移動到默認屏幕大小不同的系統會發生什麼情況。你可能會更好的瀏覽器設置爲特定的大小,可以用一個簡單的JavaScript來實現resizeTo功能,你甚至可以「轉到」它作爲一個URL

browser.goto('javascript:resizeTo(800,600)') 

還有一個'moveTo',可以用同樣的方法。所以你可以把窗口放在已知的位置。

如果你需要瀏覽器在一個特定的地方和大小,其他要考慮的事情就是用適當的javascript創建一個頁面來設置你想要的東西,然後將它設置爲你的默認首頁,瀏覽器打開。如果你的谷歌'JavaScript最大化瀏覽器'或'JavaScript調整瀏覽器'你可能會找到這樣的頁面的示例代碼。

= - = - = - = 編輯基於澄清「全屏」是什麼是想要的,不僅最大化

最後你可以看看簡單的模擬「F11」按鍵爲這是大多數瀏覽器的全屏切換。如果您使用的Watir-的webdriver這可以通過SendKeys方法

browser.send_keys :f11 

但是這是一個切換來完成,並且在腳本將取決於事情在正確的狀態開始。某些不同步的結果可能會導致全屏關閉。

因此,您也可以調查本地系統上的特定頁面的想法,該頁面會產生新的全屏窗口,並將代碼附加到新窗口。 (或者在watir-webdriver中使用切換窗口代碼),儘管這種'以全屏模式彈出一個新窗口'是您將來可能會被阻止或不贊成(見下文)的東西,如果尚未在某些瀏覽器上。

警告:能夠拋出瀏覽器到從HTML全屏模式的東西是在一定程度上是因爲它被認爲是一個安全漏洞皺起了眉頭。這是因爲有人可以製作一個特定的圖像,使其看起來像一個網址欄和其他控件存在,並在創建釣魚網站時,在合法網站的用戶。這些網站目前是網絡社區現在面臨的一個較大問題(我的垃圾郵件過濾器的內容大約有20%是網絡釣魚並迅速上升)。因此,雖然過去可能有這樣的方法來做到這一點,但越來越多的網站被「關閉」由更新的更安全版本的瀏覽器。這可能會使得sendkeys選項成爲您應該跨瀏覽器工作的最佳選擇。 (幾乎所有我知道的使用F11進行全屏切換)

+0

最大化不是全屏。不同的東西。 – rfusca

+0

@rfusca,真的。我前幾天編輯迴應,以處理整個'全屏'的事情。 –

1

-k將IE放入全屏Kiosk模式,該模式超過F11。有沒有工具欄,菜單,圖標等你打Alt鍵 + F4關閉它,你可以Alt鍵 + Tab鍵其他開放的任務。

相關問題