1
我有一個具有多行和類似輸入的表單。他們有不同的ID,但名稱相同。Htmlunit通過ID而不是名稱獲取表單輸入
<input id="E2EMPL1" class="uppercase required" type="text" value="" maxlength="9" size="9" name="E2EMPL">
<input id="E2EMPL2" class="uppercase required" type="text" value="" maxlength="9" size="9" name="E2EMPL">
我可以填寫第一行,沒問題,但是當填寫第二行時,我找不到它。
這是填寫第一行:
HtmlPage mainPage = webClient.getPage(siteName);
form = mainPage.getFormByName("timeForm");
for (TimeEntry te: aList){
form.getInputByName("chkaction").setValueAttribute("checked");
form.getInputByName("E2EMPL").setValueAttribute(te.getResource());
form.getInputByName("ww_fE2WKDT").setValueAttribute(te.getEntryDate());
}
但我不知道如何填寫第二排時的名稱保持不變,但ID更改EMPL1,EMPL2等。我想我想使用xpath,但我不知道如何?
form.getByXPath("//input[@id='E2EMPL2']");
???
編輯:作爲一個方面說明。我已經嘗試使用HTTPClient來發布數據。不幸的是,它不適用於這種形式,我不知道爲什麼。我在這裏問了一個問題,從來沒有得到任何答案,沒有足夠的代表給它一個很好的獎勵。然而,我只是給HTMLUnit一個嘗試,如果我填寫表單,並點擊提交按鈕,它將工作得很好。這就是爲什麼我不使用HTTPClient。
如果有人想看到這個問題,我把它刪除了,但是如果有人真的希望看到它,我會刪除它。
HTML表單有5行數據,填寫一行有點慢,點擊提交5次,填寫5行,然後點擊提交。我希望能快一點,但如果不可能做到這一點,我會放棄這一點。我希望有人能夠有洞察力。
與答案添加一些解釋如何回答幫助OP在固定電流問題 –