Kodu tam olarak incelemedim ama şunu söyleyebilirim:
webBrowser1.Navigate(site + "/boxing");
satırıyla sayfa yüklenmeye başladığında boks fonksiyonu sayfa henüz yüklenmemiş olduğundan HTML etiketlerini bulamaz ve bu yüzden fonksiyon doğru çalışmaz. İkinci tıkladığınızda ise sayfa yüklü olduğundan doğru çalışmıştır.
webBrowser kontrolüyle yükleme yapıldığında DocumentCompleted olayını kullanıp, yapılacakları bu prosedür içinden yükleme tamamlandıktan sonra yapmakta fayda var.
Örnek:
webBrowser1.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(webBrowser1_DocumentCompleted);
şeklinde olayı uygun bir yerde ayarlayın ve şu fonksiyonu yazın.
private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e) {
// boxing sayfası çağırılmadan da olay çalışabileceğinden istenmeyen sayfalarda işlem yapmasın.
if (e.Url.OriginalString.IndexOf("/boxing") == -1) return;
// Yapılacak işlemleri buraya yazın. Örneğin:
boxgenelsure = 153;
boks();
boksara.Start();
boksgenele.Start();
}