C# 等待加载网页,直到找到元素
我不熟悉c#及其概念。我正在尝试使用C# 等待加载网页,直到找到元素,c#,winforms,browser,synchronous,C#,Winforms,Browser,Synchronous,我不熟悉c#及其概念。我正在尝试使用winforms webbrowser控件实现自动化 我正在寻找一种方法,加载一个网页,直到找到一个web项为止。 要等待网页加载,我使用行“wait(30)” “等待(30)”这是一个明显的期望,这不是最优的 我只需要同步下载: 查找web项,如果网页上缺少该web项,请等待1秒钟,如果找到该web项,请完成下载网页 这是我的密码: private void Wait(int number) { DateTime time = DateTime.No
winforms webbrowser控件实现自动化
我正在寻找一种方法,加载一个网页,直到找到一个web项为止
。
要等待网页加载,我使用行“wait(30)”
“等待(30)”这是一个明显的期望,这不是最优的
我只需要同步下载
:
查找web项,如果网页上缺少该web项,请等待1秒钟,如果找到该web项,请完成下载网页
这是我的密码:
private void Wait(int number)
{
DateTime time = DateTime.Now;
do
{
Application.DoEvents();
}
while (time.AddSeconds(number) > DateTime.Now);
}
private void CheckFindElement1()
{
try
{
Wait(30);
var mlm = web_Browser.Document.GetElementById("id1");
}
catch (Exception)
{
Wait(1);
CheckFindElement1();
}
}
你的解决方案是非常无效的。您应该使用
WebBrowser.DocumentCompleted
事件,也可以使用WebBrowser.ReadyState属性
private void CheckFindElement1()
{
//This will go on untill the full page is loaded
while (WebBrowser1.ReadyState.ToString() != "Complete") {
Application.DoEvents();
}
// Do your stuff here.
}
看。将其与配对以验证当前文档是否已完成,然后开始搜索您关心的元素。