首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Web Automation Watin问题

Web Automation Watin问题
EN

Stack Overflow用户
提问于 2011-02-28 20:19:06
回答 1查看 1.1K关注 0票数 2

我正在使用watin登录AOL Lifestream,并获得关于我当前生活流的所有评论。

我正在使用Watin和IE登录。问题是它似乎找不到登录页面上的表单元素,即使它们在那里。

下面是我查找和填充表单元素的代码:

代码语言:javascript
运行
复制
// Sign in
        IE ie = new IE("http://lifestream.aol.com/");
        ie.WaitForComplete();

        // Log the user in or out
        if (ie.Element(Find.ById("account_dd")).Exists)
        {
            ie.GoTo("http://lifestream.aol.com/logout");
        }
        else
        {
            ie.Link(Find.ById("signInLink")).Click();
            ie.TextField(Find.ById("lgnId1")).Value = txtUsername.Text;
            ie.TextField(Find.ById("pwdId1")).Value = txtPassword.Text;
            ie.Button(Find.ById("submitID")).Click();
        }

表单元素在那里是因为我可以用Firebug查看它们。它们似乎是用Javascript生成的,但它们应该仍然在DOM中,对吗?

即使我检查它们是否存在,结果也是否定的。有什么帮助吗?

EN

回答 1

Stack Overflow用户

发布于 2011-02-28 22:21:03

登录控件位于带有id=loginframe的iframe元素中。更改else分支中的代码,如下所示:

代码语言:javascript
运行
复制
var frame = ie.Frame("loginframe");

frame.TextField(Find.ById("lgnId1")).Value = txtUsername.Text;
frame.TextField(Find.ById("pwdId1")).Value = txtPassword.Text;
frame.Button(Find.ById("submitID")).Click();
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5141870

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档