点击Gmail刷新按钮

时间:2011-03-28 15:56:15

标签: c# .net winforms gmail webbrowser-control

我正在编写一个具有浏览器控件的简单个人应用程序,我希望它能够自动“刷新”gmail,以便比默认情况下更频繁地检查它。有猴子脚本可以做到这一点,但我正在尝试添加我的个人风格。

无论如何,我环顾四周,发现了除了使用浏览器控件在csharp中可以做的一切。

我发现了这个:

// Link the ID from the web form to the Button var
theButton = webBrowser_Gmail.Document.GetElementById("Refresh");

// Now do the actual click.
theButton.InvokeMember("click");

但它在'theButton'中返回null,因此它不会调用任何东西。

有人有任何建议吗?

2 个答案:

答案 0 :(得分:2)

自从我使用JavaScript以来已经有一段时间了,但鉴于其他答案和评论没有与该元素相关联的真实ID,您是否可以执行以下操作:

  1. 使用Role =='Button'和InnerHtml =='Refresh'的属性搜索所有Div。
  2. 找到正确的InnerHtml后,获取元素。
  3. 调用找到的元素上的点击。
  4. 同样,这可能会冒烟,但我想我会把它扔出去。

    编辑:刚刚意识到您正在使用C#和浏览器控件执行此操作;但是,这个概念仍然是一样的。

答案 1 :(得分:1)

此时我能给你的最好建议是使用现有的API,用于基于.NET Web浏览器的自动化:

http://watin.org/

由于带有所需按钮的div标签似乎只是用类名标识,所以你可以使用最近版本的watin中包含的Find.BySelector(“”)代码。