このページには、ユーザー名とパスワードの 2 つのフィールドがあります (以下のコードでは ** で強調表示されています)。セレンを使用してデータを入力する必要があります。ただし、両方のオブジェクトには、tabIndex を除いて同じ識別子要素があります。要素を識別する方法について教えてください(htmlを参照してください)。
注意: 以下のコードはうまくいきましたが、ユーザーは GUI に入力されたデータを見ることができません。データをUIに表示したい。
ありがとう、マイク
@FindBy(name="cams_cb_username")
private WebElement emailId;
@FindBy(name="cams_cb_password")
private WebElement password;
((JavascriptExecutor)DriverFactory.getDriver()).executeScript("arguments[0].setAttribute('value',arguments[1]);", emailId, "username");
((JavascriptExecutor)DriverFactory.getDriver()).executeScript("arguments[0].setAttribute('value',arguments[1]);", password, "pwd");
ここにHTMLがあります。
<form action="/vito-mma/activateLogin.do" method="post" name="loginForm">
<input type="hidden" value="vitocom" name="cams_security_domain">
<input type="hidden" value="/vito-mma/showPlans.do" name="cams_original_url">
<input type="hidden" value="http" name="cams_login_config">
<input type="hidden" value="" name="cams_cb_partner">
<fieldset class="mma-signin">
<div class="clearfix">
<**input class="bigtext e-hint" type="text" value="" name="e_hint_dummy_input" size="25" autocomplete="off" tabindex="1" style="display: inline;"**>
<input class="bigtext e-hint" type="text" title="Email address" value="" tabindex="1" size="25" name="cams_cb_username" style="display: none; background-color: rgb(255, 255, 255);" autocomplete="off">
</div>
<div class="clearfix">
<**input class="bigtext e-hint" type="text" value="" name="e_hint_dummy_input" size="25" autocomplete="off" tabindex="2"**>
<input class="bigtext e-hint" type="password" title="Password" value="" tabindex="2" size="25" name="cams_cb_password" style="display: none; background-color: rgb(255, 255, 255);" autocomplete="off">
</div>
</fieldset>
<div class="indent">
</form>
注: Xpath で試しました: 動作しませんでした。ユーザー名 (name="cams_cb_username") の IDE で記録されます。これを使用しました-どちらも機能しませんでした。