2014-07-22 68 views
0

我正在嘗試開發一個webbrowser應用程序。 當我的應用程序點擊鏈接時,彈出的消息框包含確定和取消選項。我必須點擊確定繼續。我嘗試了所有可能的方式,但沒有成功。如何在messagebox上點擊確定?

SendKeys沒有工作。

我相信如果以某種方式我可以切換到消息窗口,sendkeys可能工作。

我該如何做到這一點?

enter image description here

+3

你真的用什麼語言和框架?它是ASP.NET嗎?它肯定不是C#和VB.NET。 – MPelletier

+0

另外,請顯示您的代碼。即使它不起作用,它也會幫助我們弄清楚你想要完成什麼。 – MPelletier

+3

這個問題沒有任何意義。你可以請你重寫一下嗎?當我的應用點擊鏈接時,你的意思是什麼?你的意思是用戶?這些鏈接背後的代碼是什麼? – webdad3

回答

1

消息框是一個UI元素,沒有一種簡單的方法來自動與消息框交互。還有使用Windows消息框與使用JavaScript確認對話框的問題。

消息框是服務器執行的一部分。它恰好發生在開發中,你的服務器和客戶端是同一臺機器。因此,Windows消息框出現在服務器上(這是您的本地機器)。如果要將此部署到實際服務器,消息框將顯示在服務器上,而不是用戶的本地計算機上。這對於Web開發根本無效。

現在,您可以使用JavaScript確認對話框。爲此,您需要將JavaScript寫入/呈現給瀏覽器,以便在加載html正文時打開確認對話框。不是一個好主意,但可能。通常,您希望在頁面加載時避免彈出窗口和對話框。

因此,您最好的選擇是重新設計UI,以便不顯示消息框或使用不同的路由來執行該流程並完全繞過UI。

+0

謝謝你的解釋 –

1

假設你正在使用嵌入在一個名爲FRM Windows窗體WebBrowser控件,您可以嘗試使用的SendKeys之前調用Activate()和分衆()方法...

Frm.Activate() 
Frm.Focus() 
SendKeys.SendWait("{Enter}") 

具有用於工作我。

+0

謝謝。這是一個bot重新啓動家庭DSL路由器。點擊「重新啓動」時,彈出消息框,要求確認。如果以某種方式我可以專注於消息框窗口,sendkeys將工作,但我不知道如何。 –

相關問題