有一个嵌入了银灯应用程序的网页,我想抓一下。我想知道在C#,Java或Python中是否存在支持Silverlight的网络抓取解决方案或浏览器自动化解决方案(或任何技巧/黑客)。
我目前正在尝试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"/>
...
答案 0 :(得分:1)
我已与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和Getting started查看Locating elements。
答案 1 :(得分:0)