Java Selenium—标识输入标记内Td值元素的WebDriver

Java Selenium—标识输入标记内Td值元素的WebDriver,java,selenium-webdriver,Java,Selenium Webdriver,我试图识别td值,东西在td内,我有输入标签,我需要识别值。我的Td标签如下所示。我需要确定并获取2016年11月4日的值。正在尝试添加完整的源代码 <div id="accountsSectionBottomContainer" class="acctBottom" default-path="/ui/app.php/AccountsBottomPane/21/acct_glance"> <div> <div class="accountsModPLSQL

我试图识别td值,东西在td内,我有输入标签,我需要识别值。我的Td标签如下所示。我需要确定并获取2016年11月4日的值。正在尝试添加完整的源代码

    <div id="accountsSectionBottomContainer" class="acctBottom" default-path="/ui/app.php/AccountsBottomPane/21/acct_glance">
<div>
<div class="accountsModPLSQLReturn" data-aria-plsql-root="/ui/mod_plsql.php/aria/csrtools/" data-aria-plsql-url="dashboard_plan.plan_inst_unit_inst_dtls">
<div class="workbook_tabname">Accounts</div>
<script language="JavaScript" type="text/javascript">         self.focus();      </script>
<div id="account-name">
<style type="text/css"> .color-block dl {     background-color: #F8F8FF;     margin: 0;     padding: 1em; } .white-block dl {     font-size: 1.1em;     margin: 0;     padding: 1em; } .static-block dt {     float: left;     font-size: 1.1em;     font-weight: bold;     margin: 0;     padding: 0;     width: 300px; } .static-block dd {     font-size: 1.1em;     margin: 0 0 0 225px;     padding: 0 0 5px 15px; } </style>
<script language="javascript" type="text/javascript"> $('.trgprdval').trigger('change');    var inFulfilmentStartDate_cal = new calendar3(document.main.inFulfillmentDate, "MM/DD/YYYY");    inFulfilmentStartDate_cal.year_scroll = true;    inFulfilmentStartDate_cal.time_comp = false; function myCdidFunction() {     var newCDID = document.getElementById('inClientDefinedIdentifier').value;     document.getElementById('inNewCdid').value = newCDID;      } function copyRadioVal(inputValue, origVal, inputName, name) {        var hiddenValues = document.getElementsByClassName(name);     console.log(inputName);     console.log(name);     console.log(document.getElementById(inputName));     x = document.getElementById(inputName).checked;     if (x==true)     {         $("#"+origVal).val(inputValue);     } } function copyCheckboxVal(inputValue, origVal, inputName, inPrimacyNo, inputId) {        var x = document.getElementById(inputName).checked;       if (x==true)     {         document.getElementById(origVal).value = inputValue;     }     if (x==false)     {         document.getElementById(origVal).value = "";     }     var inputType = inPrimacyNo.concat(inputId);     document.getElementById(inputType).value = inPrimacyNo; } function joinSelectVal(newInputName, oldInputId) {     var selectval = document.forms["main"][oldInputId];    var selectedList = [];    for (var i = 0; i < selectval.length; i++) {       if (selectval[i].selected) {          selectedList.push(selectval[i].value);       }    }    var checkedStr = Array.join(selectedList, "~");    if (checkedStr.length == 0) {    checkedStr = "NO@VALUE";    }    document.getElementById(newInputName).value = checkedStr; } function validateInputsAndSubmit(button) { var valSuppFields = validateAcctSuppFields('.accountsForm'); if(!valSuppFields['isValid']) { alert(valSuppFields['errorMsg']); return false; } lockAndSubmitForm(button); } </script>
<div class="color-block">
<div class="white-block">
<form class="accountsForm" name="main" method="post" action="/ui/mod_plsql.php/aria/csrtools/dashboard_plan_m.plan_unit_instance_save_m" onsubmit="return false;">
<font size="3">
<br/>
<br/>
<table class="data-table clear-both" cellspacing="0">
<colgroup>
<tbody>
<tr>
<tr class="dataRow1 even">
<td valign="top" style="text-align: left;">
<td valign="top" style="text-align: left;">10089723</td>
<td valign="top" style="text-align: left;">Yes</td>
<td valign="top" style="text-align: left;">Invoiced</td>
<td valign="top" style="text-align: left;">
<input type="hidden" value="10089723" name="INSERVICES[0][inServiceNo]"/>
<input type="hidden" value="1" name="INSERVICES[0][inFulfillmentStatus]"/>
<input type="hidden" value="1" name="INSERVICES[0][inFulfillmentBasedInd]"/>
<input id="inFulfillmentDate10089723" type="text" readonly="readonly" value="4/11/2016" name="INSERVICES[0][inFulfillmentDate]"/>
</td>
</tr>
<tr class="dataRow1 even">
<td valign="top" style="text-align: left;">
<td valign="top" style="text-align: left;">10089726</td>
<td valign="top" style="text-align: left;">Yes</td>
<td valign="top" style="text-align: left;">Invoiced</td>
<td valign="top" style="text-align: left;">
<input type="hidden" value="10089726" name="INSERVICES[1][inServiceNo]"/>
<input type="hidden" value="1" name="INSERVICES[1][inFulfillmentStatus]"/>
<input type="hidden" value="1" name="INSERVICES[1][inFulfillmentBasedInd]"/>
<input id="inFulfillmentDate10089726" type="text" readonly="readonly" value="4/11/2016" name="INSERVICES[1][inFulfillmentDate]"/>
</td>
</tr>
<tr class="dataRow1 even">
<td valign="top" style="text-align: left;">
<td valign="top" style="text-align: left;">10089727</td>
<td valign="top" style="text-align: left;">Yes</td>
<td valign="top" style="text-align: left;">Invoiced</td>
<td valign="top" style="text-align: left;">
<input type="hidden" value="10089727" name="INSERVICES[2][inServiceNo]"/>
<input type="hidden" value="1" name="INSERVICES[2][inFulfillmentStatus]"/>
<input type="hidden" value="1" name="INSERVICES[2][inFulfillmentBasedInd]"/>
<input id="inFulfillmentDate10089727" type="text" readonly="readonly" value="4/11/2016" name="INSERVICES[2][inFulfillmentDate]"/>
</td>
</tr>
<tr class="dataRow1 even">
<td valign="top" style="text-align: left;">
<td valign="top" style="text-align: left;">10089730</td>
<td valign="top" style="text-align: left;">Yes</td>
<td valign="top" style="text-align: left;">Invoiced</td>
<td valign="top" style="text-align: left;">
<input type="hidden" value="10089730" name="INSERVICES[3][inServiceNo]"/>
<input type="hidden" value="1" name="INSERVICES[3][inFulfillmentStatus]"/>
<input type="hidden" value="1" name="INSERVICES[3][inFulfillmentBasedInd]"/>
<input id="inFulfillmentDate10089730" type="text" readonly="readonly" value="4/11/2016" name="INSERVICES[3][inFulfillmentDate]"/>
</td>
</tr>
<tr class="dataRow1 even">
<td valign="top" style="text-align: left;">
<td valign="top" style="text-align: left;">10089747</td>
<td valign="top" style="text-align: left;">Yes</td>
<td valign="top" style="text-align: left;">Invoiced</td>
<td valign="top" style="text-align: left;">
<input type="hidden" value="10089747" name="INSERVICES[4][inServiceNo]"/>
<input type="hidden" value="1" name="INSERVICES[4][inFulfillmentStatus]"/>
<input type="hidden" value="1" name="INSERVICES[4][inFulfillmentBasedInd]"/>
<input id="inFulfillmentDate10089747" type="text" readonly="readonly" value="4/11/2016" name="INSERVICES[4][inFulfillmentDate]"/>
</td>
</tr>
</tbody>
</table>
<br/>
<br/>
<font size="3">
<br/>
<br/>
<table class="simple" cellspacing="0">
<input type="hidden" value="8179" name="inPlanNo"/>
<input type="hidden" value="4066308" name="inPlanUnitInstanceNo"/>
<input id="inNewCdid" type="hidden" name="inClientDefinedIdentifier"/>
<input type="hidden" value="MasterPlan" name="inSelectedPlan"/>
<input type="hidden" value="19328197" name="inPlanInstanceNo"/>
<div class="form-buttons">
<input type="hidden" value="AAAAAAUJTTz9lWKS_TgqUANHCenOnmxH2IQHclhl2zoruTE55z7CFHIdaAAJNyGlNLLnb5f-97HVxpFchLgkkTjIFz9d_I_sKfI7EQd83gmsfyFtQA==" name="as_sfid"/>
<input type="hidden" value="yli8W38Xf7v_849HentO" name="as_fid"/>
</form>
</div>
</div>
</div>
    <input id="inFulfillmentDate10089723" type="text" readonly="readonly" value="4/11/2016" name="INSERVICES[0][inFulfillmentDate]"/>

</td>

账户
self.focus();
。颜色块dl{背景色:#F8F8F8FF;边距:0;填充:1em;}。白色块dl{字体大小:1.1em;边距:0;填充:1em;}。静态块dt{浮点:左;字体大小:1.1em;字体重量:粗体;边距:0;填充:0;宽度:300px;}。静态块dd{字体大小:1.1em;边距:0 0 225px;填充:0 0 5px 15px;}
$('.trgprdval').trigger('change');var infulfillmentstartdate_cal=new calendar3(document.main.inFulfillmentDate,“MM/DD/yyyyy”);infulfillmentstartdate_cal.year_scroll=true;infulfillmentstartdate_cal.time_comp=false;function myCdidFunction(){var newCDID=document.getElementById('inClientDefinedIdentifier')).value;document.getElementById('inNewCdid').value=newCDID;}函数copyrioval(inputValue,origVal,inputName,name){var hiddenValues=document.getElementsByClassName(name);console.log(inputName);console.log(document.getElementById(inputName));x=document.getElementById(inputName).checked;if(x==true){$(“#”+origVal).val(inputValue);}}函数copyCheckboxVal(inputValue,origVal,inputName,inPrimacyNo,inputId){var x=document.getElementById(inputName).选中;if(x==true){document.getElementById(origVal).value=inputValue;}if(x==false){document.getElementById(origVal).value=”“;}var-inputType=inPrimacyNo.concat(inputId);document.getElementById(inputType).value=inPrimacyNo;}函数joinSelectVal(newInputName,oldInputId){var-selectval=document.forms[“main”][oldInputId];var-selectedList=[];for(var i=0;i

10089723 对 发票 10089726 对 发票 10089727 对 发票 10089730 对 发票 10089747 对 发票




如果您想识别value=“4/11/2016”,您可以直接使用

如果是动态id plz,请使用

MyDynamicID = "//*[starts-with(@id,'inFulfillmentDate')]"
String value = driver.findElement(By.id(MyDynamicID )).getText();
现在在控制台中打印字符串

厄帕德

// our id = inFulfillmentDate  pattern 
    List<WebElement> myDate =  driver.findElements(By.xpath("//*[starts-with(@id,'inFulfillmentDate')]"));
    System.out.println(myDate.size());
    // now print all value 

    for(int i=0;i<myDate.size();i++){
        System.out.println("value is : " +myDate.get(i).getAttribute("value"));
    }

你的意思是输入标记在td标记内。你在哪里关闭td标记?你想要得到什么值?Rajnish是的,输入标记在td内tag@SadikALi,我需要获取输入标记Hi中的值date值,但是id是动态的,所以我不能使用它们打印,而且还有很多rowsok。在这种情况下,您能告诉我哪个部分是正确的吗动态用于XPath此处name=“INSERVICES[2][infullmentDate]”括号中的值随着行值的增加而增加在rows\u count=rows\u table.size();for(int row=1;row)您可以将完整的源代码从start div发布到end div吗?另外,我已经更新了我的答案如何处理动态id请看一看,这将有所帮助
6
value is : 4/11/2016
value is : 4/11/2016
value is : 4/11/2016
value is : 4/11/2016
value is : 4/11/2016
value is : 4/11/2016