C# 使用WatiN处理闪光按钮

C# 使用WatiN处理闪光按钮,c#,flash,automated-tests,watin,C#,Flash,Automated Tests,Watin,我正在使用WatiN实现浏览器自动化。很酷。但是今天我遇到了一个问题,我需要在我的asp.net页面中调用flash对象(uploadify按钮) 此代码似乎工作正常,但没有显示任何操作 Element ele = window.Element(Find.ById("uploadifyUploader")); ele.Click(); 有没有办法在WatiN中实现这一点?我可能错了,但我认为触发ele.Click()会导致单击元素,而不是按钮。元素的内容只是一个

我正在使用WatiN实现浏览器自动化。很酷。但是今天我遇到了一个问题,我需要在我的asp.net页面中调用flash对象(uploadify按钮)

此代码似乎工作正常,但没有显示任何操作

        Element ele = window.Element(Find.ById("uploadifyUploader"));
        ele.Click();

有没有办法在WatiN中实现这一点?

我可能错了,但我认为触发
ele.Click()
会导致单击
元素,而不是按钮。
元素的内容只是一个应用程序。这里有flash对象,但它可能是,例如,javaapplet

单击该按钮类似于在不同的应用程序上单击按钮-您必须自动化Windows,而不是IE,因此需要某种API调用,如
FindWindowEx
SendMessage
等。我认为使用
WatiN.Core.Native.Windows
命名空间可能会有点帮助,但可能还不够。您必须使用
user32.dll
中的一些外部方法

相反,您可以使用某种类型的Windows自动化库。我听说那很好,但我没用。对于小任务,我更喜欢处理本机呼叫


此外,它对查找windows属性非常有帮助。

我可能错了,但我认为触发
ele.Click()
会导致单击
元素,而不是按钮。
元素的内容只是一个应用程序。这里有flash对象,但它可能是,例如,javaapplet

单击该按钮类似于在不同的应用程序上单击按钮-您必须自动化Windows,而不是IE,因此需要某种API调用,如
FindWindowEx
SendMessage
等。我认为使用
WatiN.Core.Native.Windows
命名空间可能会有点帮助,但可能还不够。您必须使用
user32.dll
中的一些外部方法

相反,您可以使用某种类型的Windows自动化库。我听说那很好,但我没用。对于小任务,我更喜欢处理本机呼叫


此外,它对查找windows属性非常有帮助。

是的,这是我最初认为的,本机win32调用会更好。实际上,我已经在user32.dll中尝试了鼠标事件来单击按钮。但似乎什么都不管用。我不知道是什么问题(是的,这就是我最初的想法,本机win32调用会更好。实际上,我已尝试在user32.dll中单击鼠标事件来单击按钮。但似乎没有任何效果。我不知道问题出在哪里……:(