在silverlight上刮网页4页
问题描述:
有一个嵌有银光应用程序的网页,我想刮掉它。我想知道是否有C#,Java或Python支持silverlight的网页抓取解决方案或浏览器自动化解决方案(或任何技巧/黑客攻击)。在silverlight上刮网页4页
我目前正在silvernium但它是相当过时的项目,似乎不使用Silverlight 4
这里正常运转而一些SL对象在页面的HTML信息:
<object data="data:application/x-silverlight-2," type="application/x-silverlight-2" width="100%" height="100%">
<param name="source" value="PATH/WebSilverlight.xap"/>
<param name="onerror" value="onSilverlightError"/>
<param name="background" value="white"/>
<param name="minRuntimeVersion" value="4.0.50524.0"/>
<param name="autoUpgrade" value="true"/>
<param name="windowless" value="true"/>
<param name="enableautozoom" value="true"/>
...
答
我与Telerik testing framework成功合作为支持在C#中的Silverlight的
自动化解决方案
它是免费的,一旦你习惯了它 - 很容易,因为丰富的API和跨浏览器的兼容性。也许最棘手的部分是最初配置测试。
简单的例子:
Settings mySettings = new Settings();
mySettings.Web.DefaultBrowser = BrowserType.InternetExplorer;
Manager myManager = new Manager(mySettings);
myManager.Start();
myManager.LaunchNewBrowser();
myManager.ActiveBrowser.NavigateTo("http://www.example.com");
Element mybtn = myManager.ActiveBrowser.Find.ByTagIndex("input", 3);
myManager.ActiveBrowser.Actions.Click(mybtn);
myManager.Dispose();
一个很好的补充它是Windows Inspect tool。它将使您能够选择任何UI元素,并在一些棘手的情况下查看元素的辅助功能数据。
更新:
我已经搜查,我已经在天回用一些有用的文档链接。使用Silverlight UI Automation和Locating elements查看Getting started。
听起来很有希望,今天我会在Windows机器上试试它,或者有一种方法可以在osx中尝试这种方式吗? – gerosalesc
很高兴帮助,我也更新了我的答案。 – ekostadinov
不幸的是,这种技术并不适合程序应该运行的生产环境的要求,但很高兴知道它,再次感谢。 – gerosalesc