以下の html コードの正しい xpath を見つけようとしていますが、何度も試行錯誤し、問題に 3 日間費やした後、あきらめて助けが必要です。記録 (コードの実行) 後に IDE から確認すると、accountID という名前の webeditbox が正しく識別されますが、テスト スクリプトを実行すると書き込みに失敗します。iframe 内にあり、多くのクラスと div ボックス内にあることに注意してください。
IDE: Eclipse Juno ブラウザー: FireFox Selenium 2 Webdriver
Web 編集ボックスを識別する HTML コード:
<input id="accountId" name="accountId" class="text" type="text" value="" maxlength="10">
使用される Selenium コード:
1)WebElement AccountID = driver.findElement(By.xpath("//[@id='accountId']"));
AccountID.sendKeys("1234");
2)同様に//*[@id="customPMform"]/p/label
3)同様に//*[@id="customPMform"]/p
私も試してみby.id
ましたが、利益はありません。正しいセレンコードを教えてください。
その他の HTML コード:
<div class="portlet-borderless-container" style="">
<form id="customPMform" action="https://webcashier-stg1.egalacoral.com/web/galabingostg1-backup/prepaidcard?p_p_id=prePaidCardDeposit_WAR_prePaidCardbaseVersion60610_INSTANCE_Jl3g&p_p_lifecycle=1&p_p_state=normal&p_p_mode=view&p_p_col_id=column-1&p_p_col_count=2&_prePaidCardDeposit_WAR_prePaidCardbaseVersion60610_INSTANCE_Jl3g_action=submit" method="POST" onsubmit="return false;">
<input id="methodCode" name="methodCode" type="hidden" value="PrePaidCard">
<input id="depositSuccessUrl" name="depositSuccessUrl" type="hidden" value="/ppcdepositsuccess">
<input id="quickSuccessUrl" name="quickSuccessUrl" type="hidden" value="/ppcquickdepositsuccess">
<h2><span class="text-msg" name="prePaidCardDeposit.title">PrePaid Card</span></h2>
<p class="form">
<label for="accountId">
<span class="text-msg" name="prePaidCardDeposit.accountId">Account ID</span>
</label>
<input id="accountId" name="accountId" class="text" type="text" value="" maxlength="10">
</p>
</form>
</div>