2016-03-14 63 views
1

我使用的Webbrowser時控制的網站有一個問題。如何等待瀏覽器上(窗口表)運行腳本C#?

我打開一個網站

webBrowser.Navigate(pageURL); 
       while (webBrowser.ReadyState != WebBrowserReadyState.Complete) 
        System.Windows.Forms.Application.DoEvents(); 

這個網站後有2個選擇列表

選擇Distrcit ||||||||||||||||||||||

選擇沃德||||||||||||||||||||||||||

首先,我選擇區

elementDistrict.Children()[2].SetAttribute("selected", "selected"); 
elementDistrict.InvokeMember("onchange"); 

和休眠(warting爲 「選擇沃德」 負載數據)

Thread.Sleep(1000) 

,我選擇沃德

elementDistrict.Children()[3].SetAttribute("selected", "selected") 

我不能選擇一個病房,因爲「選擇病房」數據尚未加載。選擇前區

HTML頁面:

<select id="cboDistrictPost" onchange="ChangeDistrictPost($(this).val())" class="select" tabindex="5"> 
    <option value="1">District 1 </option> 
    <option value="2">District 2 </option> 
</select> 

<select id="cboWardPost" class="select" tabindex="5"> 
    <option value="-1">---Select Ward---</option> 
</select> 

回答

0

這聽起來像你正在設置線程休眠的web瀏覽器上。如果您將UI線程設置爲睡眠狀態,則Web瀏覽器將不會繼續加載。

+0

感謝您的評論。在這種情況下,你有什麼建議嗎? –

+0

@TongTrongNhan你可以用'等待Task.Delay(1000);'作爲一個窮人的解決方案... – Eser