簡體   English   中英

在Windows窗體應用程序中以編程方式單擊網頁的按鈕

[英]Programmatically Clicking on a Web Page's Button in Windows Forms Application

我正在做一個項目,即Google Scholar中的論文分析。 我所做的基本上是解析HTML,將相關字段存儲到數據庫中等等。但是,當我拿到出版物的書名時,我被困在某個地方,我意識到,我能夠獲得前20個元素。 但是,相關帳戶中有六十篇論文:

http://scholar.google.com/citations?user=B7vSqZsAAAAJ

因此,我認為作為解決方案,我需要以編程方式單擊“顯示更多”按鈕,這樣我才能獲得所有標題,出版物場地等。

你怎么看? 我該如何執行這種動作?

編輯:我選中了“顯示更多”按鈕,盡管沒有任何內容可以顯示為下一頁,但其html代碼仍然保持不變。 作為解決方案,我可以使用循環n次。 但是,我正在尋找更可靠的解決方案。 感謝您的時間!

如果專門針對其網站,則有一個簡單的解決方法。 將查詢字符串更改為所需的記錄。

http://scholar.google.com/citations?user=B7vSqZsAAAAJ&cstart = 0&pagesize = 2000

如果單擊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";

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM