如何在 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');");