单击Gmail刷新按钮
问题描述:
我正在编写一个简单的个人应用程序,它具有浏览器控件,我希望它自动“刷新”gmail以便比默认情况下更频繁地检查它。有猴子脚本这样做,但我试图增加我的个人风格。单击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”所以它不会调用任何东西。
任何人有任何建议吗?
答
它已经一段时间,因为我使用的JavaScript,但考虑到其他的答案,并评论说,没有与元素相关联没有真正的ID,你可以这样做以下:
- 搜寻所有事业部与Role =='Button'的属性和InnerHtml =='Refresh'。
- 找到正确的InnerHtml后,获取元素。
- 调用找到的元素的点击。
同样,这可能是在吹烟,但我以为我会把它扔出去。
编辑:刚才意识到你正在用C#和浏览器控件来做这件事,然而,这个概念仍然是一样的。
答
我可以给你在这一点上最好的建议涉及现有的API,用于基于.NET的Web浏览器自动化:
由于与所需的按钮div标签真的似乎只使用类名称标识自己,可以使用最新版本的watin中包含的Find.BySelector(“”)代码。
不幸的是gmail的刷新按钮没有典型的“Id”属性。该按钮的标记如下所示:
不知道是否有意为了防止这种类型的事情?如果是这样的话,那真的会使我的日子变得更糟...... – ErocM 2011-03-28 17:31:02