2016-02-11 88 views
0

我知道这个问题听起来很可疑,但我处于一个奇怪的情况,我已经控制了一个项目,但是构建网站的原始供应商保留了服务器和服务器端代码的所有权。从Python提交基于Silverlight的表单

我已经成功地通过Selenium脚本化了很多与网站的交互,但我需要的脚本之一是通过Silverlight表单提交文件。据我所知,你不能直接与Python或Selenium的Silverlight进行交互,但是看起来像Silverlight只是用来获取文件位置和显示加载栏的源代码,而实际的表单提交是通过发布到ASP服务器端脚本完成。但它有几个隐藏的验证字段。

所以我很想象一个路径,我用Selenium导航到这个页面,然后解析该页面的验证值,然后将这些值和我想要上传的数据提交给表单。

这种方法是否可行?我在哪里可以找到类似这样的信息和涉及的困难?

+0

它当然是可行的。使用Python + JavaScript + Selenium你几乎拥有完整的堆栈,所以任何web/HTTP问题都应该是可以解决的。这通常只是一个你需要绕过多少UI的问题。需要一个URL或某些来源才能提供具体的建议。 –

+0

这是一个安全的网站,所以我不能给一个URL。我会看看是否有某种方式可以在这里提供可用的源代码,可能在周末。 – TBridges42

回答

1

Silverlight可以通过Windows辅助功能界面实现自动化。这个范围对于一个stackoverflow帖子来说太大了,但是我建议你看看这个:https://msdn.microsoft.com/library/ms727247(v=vs.100).aspx

你可以钻取使用UI Spy来深入控制ID,然后使用Python的COM互操作来调用UI自动化蜜蜂。

+0

因此,最终我能够与承包商进行谈判,以获得更容易访问的界面,但这绝对看起来很有用,并且可能最终会出现在我的代码的其他部分。 – TBridges42