使用WebBrowser控件(.net)运行脚本

时间:2018-11-01 21:48:39

标签: c# .net webbrowser-control

我正在尝试抓取一个网站,并使用HtmlAgilityPack获得了一些运气。但是由于某些站点使用javascript,所以我相信我需要使用WebBrowser控件(HtmlAgilityPack不会运行脚本)。

但是我对如何运行脚本一无所知。

有问题的脚本与下拉控件相关联-您选择一种新颜色,并且页面上会显示不同的图像。下拉控件html如下所示:

<ul class="class1"><label class="class2" for="123456_0">Colour</label><div id="123456_0"><select id="123456_Input_0" onchange="updatePanel(0,'123456', true)"><option value="-1">Please select</option><option value="Colour:Green">Green</option><option value="Colour:Navy">Navy</option><option value="Colour:Orange">Orange</option><option value="Colour:White">White</option></select></div><label class="class2" for="123456_1">Size</label><div id="123456_1">Please select the Colour</div><input id="id1" value="123456" type="hidden" /><input id="id2" value="1" type="hidden" />

据我所知,选择新颜色时,它将运行updatePanel脚本。我正在尝试找出如何使用WebBrowser控件调用该控件的方法,但到目前为止,我可以从中获得启发。

据我所知,此函数具有三个参数,因此我尝试这样模拟:

    object[] objArray = new object[3];
    objArray[0] = 1;
    objArray[1] = "3101";
    //objArray[1] = "3101_Input_Colour:Green";
    objArray[2] = true;
    var resultVar = webBrowser1.Document.InvokeScript("updatePanel", objArray);

所以-我在做什么错?在这种情况下调用脚本的正确方法是什么?

0 个答案:

没有答案