C# 跳转一些文本字段,如搜索框

发布于 2024-12-26 07:40:58 字数 433 浏览 0 评论 0原文

我只是使用 来填充一些文本字段,但是有时它会写在错误的文本字段中,因为文本字段名称不清楚这是我的代码

IE browser = new IE(site);
browser.TextField(Find.By("type","text")).TypeTextQuickly(username.ToString());
browser.TextField(Find.By("type", //"password")).TypeTextQuickly(pass.ToString());
browser.Button(Find.By("type", "submit")).Click();

I'm just using to fill some textfields but sometimes it writes in the wrong textfield because the textfields name is not clear here's my code

IE browser = new IE(site);
browser.TextField(Find.By("type","text")).TypeTextQuickly(username.ToString());
browser.TextField(Find.By("type", //"password")).TypeTextQuickly(pass.ToString());
browser.Button(Find.By("type", "submit")).Click();

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

神仙妹妹 2025-01-02 07:40:58

编辑您的输入元素的 HTML 代码和设置 ID。然后使用Find.ById

Edit your HTML code and setup ID´s for your input elements. Then use Find.ById

淤浪 2025-01-02 07:40:58

一种选择可能是首先查看是否存在可以找到的外部元素(例如 Div),然后从该元素而不是从浏览器变量获取文本字段。例如,它可能看起来像这样:

Div div = browser.Div(Find.ById("divId"));
//Div div = browser.Div(Find.ByClass("divClass")); // or like this for instance...
TextField text = div.TextField(Find.By("type", "text"));
TextField password = div.TextField(Find.By("type", "password"));
Button submit = div.Button(Find.By("type", "submit"));

One option could be to see if there is an outer element (such as a Div) you can find first, and afterwards get the text fields from that element instead of from the browser variable. That could for instance look like this:

Div div = browser.Div(Find.ById("divId"));
//Div div = browser.Div(Find.ByClass("divClass")); // or like this for instance...
TextField text = div.TextField(Find.By("type", "text"));
TextField password = div.TextField(Find.By("type", "password"));
Button submit = div.Button(Find.By("type", "submit"));
绝對不後悔。 2025-01-02 07:40:58

我不清楚你对 WatiN 和测试的了解,所以我将从乞讨开始。首先,您需要进入要测试的网页并(在 IE 中)转到“工具”->“开发者工具。单击菜单中的白色箭头,然后继续单击您要使用的框。执行此操作后,开发人员工具将为您提供文本框的代码,包括您可以在代码中引用它的多种方式。例如,使用 IE 中的开发工具,我可以像这样自动登录到我的 gmail:

IE browser = new IE("https://accounts.google.com/ServiceLogin?service=mail&passive=true&rm=false&continue=http://mail.google.com/mail/&scc=1<mpl=default<mplcache=2"); 

browser.TextField(Find.ByID("Email")).TypeText("[email protected]");
browser.TextField(Find.ByID("Passwd")).TypeText("mypassword");
browser.Button(Find.ByID("signIn")).Click();

有很多 Find.By 命令,因此您没有理由无法访问您想要的任何文本字段。您只需要 html 并具体说明要写入哪一个。我希望这有帮助:)

I am unclear as to your knowledge of WatiN and testing so I will start from the begginging. First you need to go on the webpage you want to test and (in IE) go to tools -> Developer tools. Click the white arrow in the menu then proceed to click the box you wish to utilize. Once you do this the developer tools will give you the code for the textbox including many ways you can reference it in your code. For example, using dev tools in IE I can automate logging into my gmail like this:

IE browser = new IE("https://accounts.google.com/ServiceLogin?service=mail&passive=true&rm=false&continue=http://mail.google.com/mail/&scc=1<mpl=default<mplcache=2"); 

browser.TextField(Find.ByID("Email")).TypeText("[email protected]");
browser.TextField(Find.ByID("Passwd")).TypeText("mypassword");
browser.Button(Find.ByID("signIn")).Click();

There are many Find.By commands so there is no reason you can't acess ANY textfield you wish. You just need the html and to be specific to which one you want to write into. I hope this helps :)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文