我正在尝试使用C#中的WatiN访问iframe中的复选框.
文档建议使用这个:
var frame = browser.Frame(frameId);
但是,我尝试过这种格式,如下所示:
var edUsrFrame = browser.Frame(Find.ByName ("ctl00_ContentPlaceHolder1_WindowManager1359542712913"));
但是,我无法弄清楚如何访问嵌套在该帧上的元素(复选框).
iframe使用动态名称的问题是什么?我试过直接访问该复选框,但再次没有成功.
谢谢.
最佳答案 当您想要访问框架内的项目时,就像对待“顶级”浏览器一样对待框架.
要点击复选框:
var myFrame = browser.Frame(Find.bywhatever()); //Gets the frame
myFrame.CheckBox(Find.ByName("checkboxnamehere")).Click();
或者更简单:
browser.Frame(Find.Bywhatever(...)).CheckBox(Find.ByWhatever(...)).Click();
如果框架使用的是每次加载页面时都在更改的动态名称,而不是按名称查找,则可以通过正则表达式,索引或通过简洁地标识该框架的内容进行查找.底线:如果名称将页面加载更改为页面加载,则无法使用名称.