所以,我遇到了一个问题,我最喜欢的广播电台在我开车时播放一首我不知道的歌曲。他们没有一个显示他们播放过的歌曲列表的页面。但是,他们的网站上确实有一个“正在播放”部分,其中显示了当前正在播放的内容以及由谁播放。因此,我正在尝试编写一个小程序,该程序将每 2 分钟轮询一次站点以检索歌曲的名称和艺术家。使用 Chrome 开发工具,我可以在源代码中看到歌曲名称和艺术家。但是当我查看页面源时,它没有显示出来。他们正在使用 javascript 来运行显示该信息。我尝试了以下方法:
private void button1_Click(object sender, EventArgs e)
{
webBrowser1.Navigate(@"http://www.thebuzz.com/main.html");
webBrowser1.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(webBrowser1_DocumentCompleted);
}
private void webBrowser1_DocumentCompleted(object sender,
WebBrowserDocumentCompletedEventArgs e)
{
do
{
// Do nothing while we wait for the page to load
}
while (webBrowser1.ReadyState == WebBrowserReadyState.Loading);
var test = webBrowser1.DocumentText;
textBox1.Text = test.ToString();
}
本质上,我将它加载到 aWebBrowser
并尝试以这种方式获取源代码。但是在运行 javascript 后我仍然没有得到该部分。有没有办法在事后实际检索呈现的 HTML?
编辑
另外,有没有办法WebBrowser
允许脚本运行?我收到弹出窗口询问我是否要允许它们运行。我不想压制他们,我需要他们跑。