如何在 C# 或 WPF 中执行 javascript 函数
How can I execute javascript function in C# or WPF
我在 VS2015 中使用 C# .net 4.5 并尝试抓取网站。
HTML table 到数据。
winform C#的web browser control,因为听说比WPF control功能多
这是我尝试解析的网站。
(Apple Music 等韩国音乐流媒体网站)
http://www.melon.com/mymusic/like/mymusiclikesong_list.htm?memberKey=7605160
并且有如下翻页脚本。
javascript:pageObj.sendPage('21');
表示显示数据列表第21条开始的数据table。
但我不知道如何在我的 C# 网络浏览器中 运行 该脚本。
我尝试使用带参数的 InvokeScript 运行,但找不到脚本。
据我所知,为了执行对象包装函数,我可以像代理一样在加载的 HTML 文档中注入一个函数。但它也失败了。
经过多次尝试,我注意到该功能可以通过 chrome console(F12) 轻松执行。
在 C# 中是否有 运行 javascript 的任何源代码片段或第三方库,就像 chrome 控制台一样?或者即使我必须实施它,请给我任何提示。
我通过以下命令通过 WPF 的 Web 浏览器控件调用 javascript:
string ScriptName = "sendPage";
string ID = "21";
this.WebBrowserPage.InvokeScript(ScriptName, ID);
javascript:pageObj.sendPage('21');
是您可以导航到的 url。 Web 浏览器实际上并不导航到脚本,而是执行脚本。所以你可以简单地使用 Navigate
method of WebBrowserControl
:
this.webBrowser1.Navigate("javascript:pageObj.sendPage('21');");
我在 VS2015 中使用 C# .net 4.5 并尝试抓取网站。 HTML table 到数据。 winform C#的web browser control,因为听说比WPF control功能多
这是我尝试解析的网站。 (Apple Music 等韩国音乐流媒体网站) http://www.melon.com/mymusic/like/mymusiclikesong_list.htm?memberKey=7605160 并且有如下翻页脚本。
javascript:pageObj.sendPage('21');
表示显示数据列表第21条开始的数据table。 但我不知道如何在我的 C# 网络浏览器中 运行 该脚本。 我尝试使用带参数的 InvokeScript 运行,但找不到脚本。 据我所知,为了执行对象包装函数,我可以像代理一样在加载的 HTML 文档中注入一个函数。但它也失败了。 经过多次尝试,我注意到该功能可以通过 chrome console(F12) 轻松执行。 在 C# 中是否有 运行 javascript 的任何源代码片段或第三方库,就像 chrome 控制台一样?或者即使我必须实施它,请给我任何提示。
我通过以下命令通过 WPF 的 Web 浏览器控件调用 javascript:
string ScriptName = "sendPage";
string ID = "21";
this.WebBrowserPage.InvokeScript(ScriptName, ID);
javascript:pageObj.sendPage('21');
是您可以导航到的 url。 Web 浏览器实际上并不导航到脚本,而是执行脚本。所以你可以简单地使用 Navigate
method of WebBrowserControl
:
this.webBrowser1.Navigate("javascript:pageObj.sendPage('21');");