4

我正在尝试使用WatiNC# 访问 iframe 中的复选框。

文档建议使用这个:

var frame = browser.Frame(frameId);

但是,我尝试过这种格式,如下所示:

var edUsrFrame = browser.Frame(Find.ByName ("ctl00_ContentPlaceHolder1_WindowManager1359542712913"));

但是,我不知道如何访问嵌套在该框架上的元素(复选框)。

iframe 使用动态名称的问题是什么?我试过直接访问复选框,但同样没有成功。

谢谢你。

4

2 回答 2

2

当您想要访问框架内的项目时,您就像对待“顶级”浏览器一样对待框架。

要单击复选框:

var myFrame = browser.Frame(Find.bywhatever());  //Gets the frame
myFrame.CheckBox(Find.ByName("checkboxnamehere")).Click();

或者更简单地说:

browser.Frame(Find.Bywhatever(...)).CheckBox(Find.ByWhatever(...)).Click();

如果框架使用的动态名称在每次页面加载时都会发生变化,而不是按名称查找,而是通过正则表达式或索引查找,或者通过简洁地标识该框架的东西来查找。底线:如果名称将页面加载更改为页面加载,则不能使用名称。

于 2013-02-01T19:49:09.473 回答
0

browser.Frame(Find.ByName("ctl00_ContentPlaceHolder1_WindowManager1359542712913")).CheckBox(Find.ById("abc")).Click();

于 2013-02-04T05:54:06.997 回答