Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/visual-studio-2010/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Winforms 如何自动点击网页链接?_Winforms_Visual Studio 2010_C# 4.0 - Fatal编程技术网

Winforms 如何自动点击网页链接?

Winforms 如何自动点击网页链接?,winforms,visual-studio-2010,c#-4.0,Winforms,Visual Studio 2010,C# 4.0,下面的代码就是我需要点击的链接所在 我已经找到了如何浏览网站并以编程方式登录网站的方法。但是,现在我需要能够自动导航的网站,我还没有能够管理这一点 包含“时钟输入”的行是我需要单击的链接 我不熟悉编码。这是我的第一个项目 对不起。我没有意识到我先前的复制/粘贴被缩短了。我已经更正了包含链接的行 再次感谢你 <div id="dockedContent" class="dockedContent"> <div id="RecentlyVisitedWidget" cla

下面的代码就是我需要点击的链接所在

我已经找到了如何浏览网站并以编程方式登录网站的方法。但是,现在我需要能够自动导航的网站,我还没有能够管理这一点

包含“时钟输入”的行是我需要单击的链接

我不熟悉编码。这是我的第一个项目

对不起。我没有意识到我先前的复制/粘贴被缩短了。我已经更正了包含链接的行

再次感谢你

<div id="dockedContent" class="dockedContent">

    <div id="RecentlyVisitedWidget" class="recentlyVisitedWidget">

    <h2 id="ctl00_12_12_RecentlyVisitedLabel"></h2>
    <ul class="recentlyVisitedLinks">
        <li>
            <span id="ctl00_12_12_Repeater1_ctl00_link">
                <a href="#" onclick="recentlyVisitedSelect('pages/VIEW/UTMEntry.aspx?USParams=PK=ESS!MenuID=2147!PageRerId=2147!ParentRerId=72','72','2147','2147', false, false, 'Time Clock Entry', true)" title="Time Clock Entry">Time Clock Entry</a>    
                </span>
            </li>
            <li></li>
            <li></li>
            <li></li>
            <li></li>
        </ul>
    </div>

</div>


您可以找到以下链接:

HtmlElement link = (from HtmlElement elem in webBrowser.Document.GetElementsByTagName("a")
                    where elem.GetAttribute("title") == "Time Clock Entry"
                    select elem).ElementAt(0);
link.InvokeMember("Click");
这基本上是说“获取文档中的所有
a
标记(以及所有链接),然后进行过滤,以便我只获取标题为
时钟条目的
a
标记。完成后,给我第一个这样的元素。”

然后通过以下程序单击它:

HtmlElement link = (from HtmlElement elem in webBrowser.Document.GetElementsByTagName("a")
                    where elem.GetAttribute("title") == "Time Clock Entry"
                    select elem).ElementAt(0);
link.InvokeMember("Click");

可能是重复的?这让我比以前更接近了。我理解它的逻辑,我只是没有足够的经验来解决我从第一个lin…System.Windows.Forms.HtmlElementCollection中得到的错误。HtmlementCollection不包含“Where”的定义,并且没有扩展方法,其中可以找到“接受”System.Windows.Forms.HtmlementCollection类型的第一个参数(您是否缺少using指令或程序集引用?@SeanConnelly噢,糟糕,我没有意识到
HtmlElementCollection
不是从任何集合派生的,而是从
对象派生的。我会立即修复我的答案。@SeanConnely编辑并测试过{“指定的参数超出了有效值的范围。\r\n参数名称:索引”}