c# - 如何使用 WatiN 访问 iframe 中的控件?

标签 c# dom iframe dynamic watin

我正在尝试使用 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/

相关文章:

c# - 为什么我不能编辑 IEnumerable 的元素?

javascript - 如何将所有匹配元素视为一个集合?

javascript - 我可以在 iframe 中显示网站图标吗?

javascript - 如何通过JavaScript获取iFrame信息(引用URL)?

c# - 获取表格的矩形

c# - 在 wpf 或 winform 中使用数据网格(或数据 GridView )时遇到问题

c# - Asp.net 身份哈希安全吗?

php - TCPDF创建PDF花费太多时间,如何在这段时间显示加载效果

javascript - 在 JavaScript 中,是否可以保存点击触发器并稍后重新应用?

javascript - Google 日历嵌入事件信息