1. 如何提取部分網頁數據
a. 使用IHtmlDocument2的getElementByTagName,不過你需要IWebBrowser2這個組件來加載網頁
b. IXMLHTTPRequest讀取網頁數據,存入CString,再根據標查找
2. 我需要在固定時間提取網頁上的相關信息. 例如:今日油假:4.90元/升
IWebBrowse2 得到IHtmlDocument2指針,
IHTMLDocument2指針得到IHtmlElementCollection,
IHTMLElementCollection的item方法遍歷得到IHtmlElement指針,
從IHtmlElement的InnerText等方法判斷是不是該鏈接
或者從IHtmlElementCollection的Tags方法得到所有的
3.一個自動提交網頁的問題(急)
void PutIEText(IHtmlElementCollection *pobjAllElement,CString strName,CString strText)
{
CComPtr<IDispatch> pDisp;
pobjAllElement->item(COleVariant(strName),COleVariant((long)0),&pDisp);
CComQIPtr<IHTMLElement, &IID_IHtmlElement> pElement;
if(pDisp==NULL)
{
AfxMessageBox(strName + "沒有找到!");
}
else
{
pElement=pDisp;
pElement->put_innerText(strText.AllocSysString());
}}
這個函數只能給<input type=text ...>的輸入框添上信息,但是不能給<select><option>的下拉框和textarea提交信息,我不知道怎麼寫了(不知道相關的函數方法),求相關的代碼?謝謝
設置IHtmlSelectElement接口的selectedIndex屬性,可以改變選中的列表項
4.bho如何獲取網頁元素的事件和相應屬性 ,比如點擊一個按鈕或超鏈接,如何獲取這一事件並獲得按鈕的名稱或超鏈接的url.
我在版塊裡看過一些,比如有lion_wing提到的方法:
1、獲得WebBrowser Control的DWebBrowserEvents2::DocumentComplete事件
2、在DWebBrowserEvents2::DocumentComplete事件中根據IWebBrowser2::Document獲得HtmlDocumentEvents2::onclick事件
3、根據onclick的參數IHtmlEventObj *pEvtObj,獲得相應屬性。
ms-help://MS.MSDNQTR.2003FEB.2052/dnwebgen/Html/bho.htm