gpt4 book ai didi

c# - Web 自动化等待问题

转载 作者:行者123 更新时间:2023-11-30 22:40:33 24 4
gpt4 key购买 nike

我正在使用 watin 登录 AOL Lifestream 并获取有关我当前 lifestreams 的所有评论。

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

这是我查找和填写表单元素的代码:

// 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 中,对吗?

即使我检查它们是否存在,它也会返回负数。有帮助吗?

最佳答案

登录控件位于 id=loginframe 的 iframe 元素内。像这样更改 else 分支中的代码:

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();

关于c# - Web 自动化等待问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5141870/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com