我正在尝试使用 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();
如果框架使用动态名称,每次加载页面时该名称都会发生变化,而不是通过名称查找,而是通过正则表达式、索引或能够简洁地标识该框架的内容来查找。底线:如果名称将页面加载更改为页面加载,则不能使用名称。
关于c# - 如何使用 WatiN 访问 iframe 中的控件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14651024/