我有一个列表Uri,我想要"点击"为了达到这个目的,我试图为每个Uri创建一个新的Web浏览器控件.我为每个Uri创建一个新线程.我遇到的问题是文档在文档之前结束是完全加载的,所以我永远不会使用DocumentComplete事件.我怎么能克服这个?
var item = new ParameterizedThreadStart(ClicIt.Click);
var thread = new Thread(item) {Name = "ClickThread"};
thread.Start(uriItem);
public static void Click(object o)
{
var url = ((UriItem)o);
Console.WriteLine(@"Clicking: " + url.Link);
var clicker = new WebBrowser { ScriptErrorsSuppressed = true };
clicker.DocumentCompleted += BrowseComplete;
if (String.IsNullOrEmpty(url.Link)) return;
if (url.Link.Equals("about:blank")) return;
if (!url.Link.StartsWith("http://") && !url.Link.StartsWith("https://"))
url.Link = "http://" + url.Link;
clicker.Navigate(url.Link);
}
Run Code Online (Sandbox Code Playgroud) 我该如何解决这个错误?
"请求的资源正在使用中.(HRESULT异常:0x800700AA)".
在使用C#.NET中的WebBrowser控件导航到其他网站时出现.为什么?
我正在尝试使用循环来下载一堆 html 页面并废弃内部数据。但这些页面在加载时会运行一些 javascript 作业。所以我认为使用 webclient 可能不是一个好的选择。但是如果我使用像下面这样的网络浏览器。它在循环中第一次调用后返回空的 html 字符串。
WebBrowser wb = new WebBrowser();
wb.ScrollBarsEnabled = false;
wb.ScriptErrorsSuppressed = true;
wb.Navigate(url);
while (wb.ReadyState != WebBrowserReadyState.Complete) { Application.DoEvents(); Thread.Sleep(1000); }
html = wb.Document.DomDocument.ToString();
Run Code Online (Sandbox Code Playgroud)