我正在使用一個(gè)使用 javascript 和 url-hiding 的公共網(wǎng)站,所以我不知道它是否是 php/asp,也不知道如何設(shè)置 POST。這是網(wǎng)站...(https://emops.twse.com.tw/server-java/t58query)我需要做的是以編程方式單擊每個(gè) VIEW 按鈕并在彈出的窗口中檢索 html/response,并在將其加載到 html/response/string 后關(guān)閉窗口通常我會(huì)使用 sql 命令從數(shù)據(jù)庫(kù)執(zhí)行此操作或?qū)⑵鋵?dǎo)出到 Excel,但我無(wú)法訪問該網(wǎng)站。我對(duì)可能使用javascripts來(lái)做到這一點(diǎn)的前端方式不是很熟悉......我能想到的唯一“方法”是使用 WebBrowser Control 加載頁(yè)面并調(diào)用“onclick”操作。但在那之后,我不確定我是否可以使用 shell32.dll 來(lái) FindWindow 并讀取它的所有內(nèi)容然后關(guān)閉它......而且我不想涉及非托管代碼。我只設(shè)法用 HtmlAgilityPack 解析頁(yè)面,但我還沒有找到如何調(diào)用 CLICK(充當(dāng) POST)以及如何從彈出窗口(來(lái)自 CLICKING)獲得響應(yīng)......private void ParseHtmlUsingAgilityPack(WebBrowser wbMOP) { HTMLDocument htmlDoc = (HTMLDocument)wbMOP.Document; HtmlDocument doc = new HtmlDocument(); doc.LoadHtml(htmlDoc.documentElement.innerHTML); HtmlNodeCollection bodyNodes = doc.DocumentNode.SelectNodes("//form//table//tbody//td//input/@onclick"); //input/@value List<string> listOfAttStr = new List<string>(); if (bodyNodes != null) { foreach (HtmlNode link in bodyNodes) { foreach (HtmlAttribute ha in link.Attributes) { if (ha.ValueLength > 24 && ha.Value.Substring(0, 22) == "document.fm_t05sr01_1.") { listOfAttStr.Add(ha.Value); } } } // write into text file here... } }
如何使用隱藏值進(jìn)行 POST 并從彈出窗口獲得響應(yīng)
動(dòng)漫人物
2021-10-15 15:34:24