我试图为下面的 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">
使用的硒代码:
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>