问题:
我遇到了Selenium本身的一个错误,它正在向我发送密钥的前一个元素执行SendKeys(),而不是一个新的。
截图:
HTML code:
<div class="w2ui-label">
Provider Name
</div>
<div class="w2ui-field w2ui-required">
<input id="ProviderName" type="text" style="width: 225px;" maxlength="100" name="ProviderName"></input>
</div>
<table>
<tbody>
<tr>
<td style="width: 250px;">
<div class="w2ui-label">
User Name
</div>
<div class="w2ui-field w2ui-required">
<input id="UserName" type="text" style="width: 225px;" maxlength="100" name="UserName"></input>
</div>
C#代码:
[FindsBy(How = How.Id, Using = "ProviderName")]
public IWebElement ProviderNameInput { get; set; }
[FindsBy(How = How.Id, Using = "UserName")]
public IWebElement UserNameInput { get; set; }
ProviderNameInput.SendKeys(providerName + Keys.Tab);
UserNameInput.SendKeys(username + Keys.Tab);
AJAX:
我被告知有一个AJAX请求会触发User Name字段以验证用户名,但是对于Provider Name字段没有类似的请求,所以我不确定为什么Selenium会挂断它领域。我尝试过使用AJAX服务员(等待所有jQuery请求完成后再继续),但没有成功。
环境: