元素不可见目标调用异常

时间:2016-04-19 08:26:42

标签: c# selenium mbunit

我正在尝试自动登录DropBox https://www.dropbox.com/chooser,但仍面临元素不可见的问题,这很奇怪,即使所有页面都已成功加载。

以下是填写密码的代码:

   protected virtual void FillPassword(string password)
    {
        //Password.Clear();
        Password.SendKeys(password);
    }

目标调用异常的最后一行失败。我也想使用Password.Clear();,但这也失败了。

以下是密码的定位器:

[CacheLookup, FindsBy(How = How.Name, Using = "login_password")]
protected override IWebElement Password { get; set; }

发生了什么事?我试图对页面使用等待方法,但它没有帮助。有谁知道它崩溃的原因?

1 个答案:

答案 0 :(得分:1)

我将HTML定位器更改为:

<div class="text-input-wrapper">
<input id="pyxl14559" class="password-input text-input-input" type="password" name="login_password">
<label for="pyxl14559" style="">Password</label>
<small class="secondary-label"></small>
<div class="password-caps-indicator">Caps lock is currently on</div>
</div>

这很好用。我不知道为什么名称选择器找不到它。这是对我的误解。两种方法都应该有效。以下是字段元素的页面源:

{{1}}