我正在开发一个项目,即Google学术搜索分析论文。我所做的基本上是解析HTML,将相关字段存储到数据库等等。但是,我被困在某一点上,而我正在考虑出版物的标题,我意识到,我能够获得前20个元素。但是,相关账户中有60篇论文:
http://scholar.google.com/citations?user=B7vSqZsAAAAJ
所以,我认为作为一个解决方案,我需要点击“显示更多”'按钮编程,所以我可以拥有所有标题,出版地点等。
你怎么看?我该如何进行这种行动?编辑:我查看了“显示更多”字样。按钮,虽然没有什么可以显示为下一页,其HTML代码仍然保持不变。作为一种解决方案,我可以使用循环n次。但是,我正在寻找更强大的解决方案。 谢谢你的时间!
答案 0 :(得分:0)
如果它的网站具体,有一个简单的解决方法。将查询字符串更改为您想要的记录。
http://scholar.google.com/citations?user=B7vSqZsAAAAJ的&安培; CSTART = 0&安培;页大小= 2000 强>
答案 1 :(得分:0)
如果在Windows窗体应用程序上单击WebBrowser控件中的按钮,则可以执行“是”。 有一些方法可以通过使用XPath来更好地控制识别。
(您可能需要使用Javascript将XPath用于对象交互 - 因为您没有要求,我会假设您不需要它)
webBrowser.Navigate("http://www.google.com");
// Or
HtmlElement textElement = webBrowser.Document.All.GetElementsByName("q")[0];
textElement.SetAttribute("value", "your text to search");
HtmlElement btnElement = webBrowser.Document.All.GetElementsByName("btnG")[0];
btnElement.InvokeMember("click");
甚至可以使用
键入文本框webBrowser1.Document.GetElementById("gs_tti0").InnerText = "hello world";