![](/img/trans.png)
[英]webBrowser_DocumentCompleted called 4 times for no reason (that I can find)
[英]When i'm checking if site uploaded complete in webBrowser DocumentCompleted it's all the in Interactive state what else can i do?
在構造函數中
webBrowser2.ScriptErrorsSuppressed = true;
webBrowser2.Navigate("http://www.tapuz.co.il/forums/forumpage/393");
然后在DocumentCompleted中
void webBrowser2_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
while (webBrowser2.ReadyState != WebBrowserReadyState.Complete)
{
return;
}
HtmlElementCollection items = this.webBrowser2.Document.GetElementsByTagName("span");
foreach (HtmlElement item in items)
{
if (item.GetAttribute("className") == "addMessage")
{
item.InvokeMember("click");
}
}
}
我嘗試了while循環,沒有。
如果由於某種原因而沒有使用while循環,它將每2-3秒一次又一次地加載頁面。
通過循環,我一直可以看到webBrowser2.ReadyState始終是Interactive的。
另外,該站點正在自動刷新。 但是它永遠不會到達“點擊”
這是我在addMessage按鈕上進行檢查元素時看到的:
<div id="SecondLineMenu-sticky-wrapper" class="sticky-wrapper" style="height: 60px;"><div class="SecondLineMenu" id="SecondLineMenu" style="width: 1000px;">
<span class="addMessage" onclick="location='http://www.tapuz.co.il/forums/addmsg/393/טבע_ומזג_אוויר/מזג_האוויר'"> | הוספת הודעה</span>
我想單擊addMessage按鈕,但它從未到達那里。
我發現這個工作:
bool clicked = false;
private void webBrowser2_DocumentCompleted_1(object sender, WebBrowserDocumentCompletedEventArgs e)
{
if (this.webBrowser2.Document != null)
{
if (clicked == false)
{
HtmlElementCollection items = webBrowser2.Document.GetElementsByTagName("span");
foreach (HtmlElement item in items)
{
if (item.GetAttribute("className") == "addMessage")
{
item.InvokeMember("click");
clicked = true;
break;
}
}
}
}
}
我應該將此添加為解決方案嗎?
bool clicked = false;
private void webBrowser2_DocumentCompleted_1(object sender, WebBrowserDocumentCompletedEventArgs e)
{
if (this.webBrowser2.Document != null)
{
if (clicked == false)
{
HtmlElementCollection items = webBrowser2.Document.GetElementsByTagName("span");
foreach (HtmlElement item in items)
{
if (item.GetAttribute("className") == "addMessage")
{
item.InvokeMember("click");
clicked = true;
break;
}
}
}
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.