好的,这可能是一个完整的n00b问题,但是我在Visual Studio 2013中使用了WatiN 2.1库,并且我试图自动化一个基于javascript的网页。我已经使用VBA完成了这项任务,但我想在C#中重做它。该网页具有多个AND元素,并且每个元素的较低级别包含一些必要的字段。在VBA中,我能够通过简单的操作来浏览页面:
ie.Document.frames("frameID1").Document.frames("frameID2").Document.getElementByID("target").Click
无论frameID1还是frameID2都是frame或iframe,这行代码都能正常工作。它对VBA来说似乎并不重要。我在C#中使用WatiN尝试了类似的方法,但似乎WatiN中的Frame功能只能识别为框架元素,并且只是将元素识别为简单的HTML元素。
话虽如此,我已经阅读了有关此问题的问题here 但这就是我的问题所在。他们说解决方案是改变AllFramesProcessor方法的代码并修复它。但是,您究竟如何访问和修改此代码?此代码包含在.dll中,我尝试使用.NET Reflector进行修改。我已经导出了源代码,在Visual Studio中打开它,找到了要修改的代码并且这样做了,但是当我尝试构建新版本时,它会抛出多个错误。有关如何正确修改此代码块并获得可处理元素的WatiN版本的任何建议吗?