首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Web浏览器等待按钮加载

Web浏览器等待按钮加载
EN

Stack Overflow用户
提问于 2019-01-14 04:29:47
回答 1查看 83关注 0票数 0

我有一段代码,可以在web浏览器页面中找到特定的按钮,然后单击它两次。问题是,当按钮第一次被点击时,它在再次可点击之前会有一个短暂的加载,所以当它第二次被点击时,它不会工作,因为它仍然在加载中。我基本上需要一种方法来告诉程序等待按钮加载,然后再次单击它。下面是我的代码:

代码语言:javascript
复制
var links = webpage.Document.GetElementsByTagName("button");
            foreach (HtmlElement link in links)
            {
                if (link.GetAttribute("className") == "something")
                {
                    link.InvokeMember("click");
                }               
            }
            links = webpage.Document.GetElementsByTagName("button");
        foreach (HtmlElement link in links)
        {
            if (link.GetAttribute("className") == "something")
            {
                link.InvokeMember("click");
            }                
        }

我已经尝试过使用Thread-Sleep(),但它冻结了浏览器,按钮也无法加载。希望你能帮上忙。

EN

回答 1

Stack Overflow用户

发布于 2019-01-14 06:11:49

试试这个:

代码语言:javascript
复制
var links = webpage.Document.GetElementsByTagName("button");
foreach (HtmlElement link in links)
{
    if (link.GetAttribute("className") == "something")
    {
        link.InvokeMember("click");
    }               
}
links = webpage.Document.GetElementsByTagName("button");
foreach (HtmlElement link in links)
{

    if (link.GetAttribute("className") == "something")
    {
    while (!link.Enabled) 
        { 
            Application.DoEvents();
            Thread.Sleep(100); 
        }
        link.InvokeMember("click");
    }                
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54172938

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档