我正在使用一个使用 javascript 和 url-hiding 的公共网站,所以我不知道它是否是 php/asp,也不知道如何设置 POST。这是网站...(https://emops.twse.com.tw/server-java/t58query)我需要做的是以编程方式单击每个 VIEW 按钮并在弹出的窗口中检索 html/response,并在将其加载到 html/response/string 后关闭窗口通常我会使用 sql 命令从数据库执行此操作或将其导出到 Excel,但我无法访问该网站。我对可能使用javascripts来做到这一点的前端方式不是很熟悉......我能想到的唯一“方法”是使用 WebBrowser Control 加载页面并调用“onclick”操作。但在那之后,我不确定我是否可以使用 shell32.dll 来 FindWindow 并读取它的所有内容然后关闭它......而且我不想涉及非托管代码。我只设法用 HtmlAgilityPack 解析页面,但我还没有找到如何调用 CLICK(充当 POST)以及如何从弹出窗口(来自 CLICKING)获得响应......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... } }
1 回答
偶然的你
TA贡献1841条经验 获得超3个赞
我会使用硒来完成这种任务。例如在这个答案中查看:https : //stackoverflow.com/a/14943813/11776368 处理弹出窗口。
- 1 回答
- 0 关注
- 77 浏览
添加回答
举报
0/150
提交
取消