在浏览器中从Silverlight控件中刮取数据

时间:2015-01-30 17:40:01

标签: silverlight excel-vba screen-scraping vba excel

我一直在使用Excel VBA和WPF应用程序来抓取各种网站的数据,而且一切都进展顺利。但是现在我遇到了一些我无法过去的事情。

网站在Silverlight控件中显示其数据:

<OBJECT width="100%" height=400 id=rnSilverlightGrid 
data="data:application/x-oleobject;base64,QfXq3+...blah blah thousands of characters...AAAA==" 
type=application/x-silverlight-2
<a href="http://go.microsoft.com/fwlink/?LinkID=124807" style="text-decoration: none;"></a>
</OBJECT>

(遗漏了我认为没用的东西。)

getElementById("rnSilverlightGrid")什么都不返回,但是我能够使用ie.document.all.tags("Object").Item(0)获取对象的句柄,但是无法进一步进入对象以获取数据。

有人能告诉我现在如何从这个Silverlight网格中获取数据吗?这当前在Excel VBA中编码,但如果需要,我可以切换到WPF并使用WebBrowser控件。如果可以避免的话我宁愿不做开关(也不知道如何在那里做任何事情)。我看着怀特(看起来像死路一条),并且看到了其他有关此问题的问题没有得到答复。

提前致谢!

1 个答案:

答案 0 :(得分:1)

Silverlight能够使某些对象可用于JavaScript调用,以便JavaScript开发人员可以在外部影响Silverlight应用程序。

这些被称为&#34; Scriptable Objects&#34;。

进一步阅读:https://msdn.microsoft.com/en-us/library/cc645085(v=vs.95).aspx

我的理解是这个功能在SL4和SL5中可用。