【发布时间】:2013-10-27 08:55:36
【问题描述】:
我正在尝试使用 Watin 登录网站,并且我想保持会话,这样我就不会每次都保持登录。
但是,每次我调用 LogIn 时,if (browser.ContainsText(isLoggedInClass)) 行都找不到我可以在打开的浏览器中看到的内容。
我添加了行string checkHtmltoSeeIfClassExists = browser.Body.Parent.OuterHtml; 来物理检查字符串是否包含在它所在的html 中。
我有点卡住了,因为看起来 Watin 只是不坚持会话?有没有人知道出了什么问题?
我目前的代码如下
using WatiN.Core;
namespace ProjectXYZ
{
class Navigate
{
private IE browser;
public void LogIn()
{
const string isLoggedInClass = "gwt-Hyperlink optionLink optionLink_myAccount";
if (browser == null)
browser = new IE("https://www.somewebsite.com");
string checkHtmltoSeeIfClassExists = browser.Body.Parent.OuterHtml;
if (browser.ContainsText(isLoggedInClass))
{
string test = "class found!";
}
else
{
browser.TextField(Find.ByName("username")).Value = xx.un;
browser.TextField(Find.ByName("userpass")).Value = xx.pw;
browser.Button(Find.ByTitle("Login")).Click();
}
}
}
}
【问题讨论】:
-
您是否尝试过使用
AttachTo<>函数重新分配浏览器会话?要记住的关键是WatiN不支持MTA。 -
感谢它现在可以使用 AttachTo。如果您将其添加为答案,我会接受。谢谢。
-
答案添加在下面。我很高兴能帮上忙:)