我在VS2015上使用C#.net 4.5并尝试抓取网站。 HTML表格到数据。 对于使用winform C#one的Web浏览器控件,因为我听说有一个功能比WPF控件更多。
这是我尝试解析的网站。 (韩国音乐流媒体网站,如苹果音乐) http://www.melon.com/mymusic/like/mymusiclikesong_list.htm?memberKey=7605160 并且有一个用于翻页的脚本,如下所示。
javascript:pageObj.sendPage('21');
表示自数据列表21以来显示数据表。 但我不知道如何在我的C#webbrowser中运行该脚本。 我尝试使用带参数的InvokeScript运行,但它无法找到脚本。 据我所知,为了执行对象包装函数,我可以像加载代理一样在加载的HTML文档中注入一个函数。但它也失败了。 经过多次尝试,我发现Chrome控制台(F12)可以很容易地执行该功能。 是否有任何源代码片段或第三方库在C#中运行javascript就像Chrome控制台一样?或者即使我必须实施它,请给我任何提示。
答案 0 :(得分:1)
javascript:pageObj.sendPage('21');
是您可以导航到的网址。 Web浏览器实际上并没有导航到脚本,而是执行脚本。因此,您只需使用Navigate
的WebBrowserControl
方法:
this.webBrowser1.Navigate("javascript:pageObj.sendPage('21');");
答案 1 :(得分:0)
我通过以下命令通过Web浏览器控制WPF来调用javascript:
string ScriptName = "sendPage";
string ID = "21";
this.WebBrowserPage.InvokeScript(ScriptName, ID);