[下面是html代码。实际上,我无法理解如何真正解释Webtable有两个表ID(tbl和tbr)以及该表共有4行的情况。表id = tbl下的第一列以及其余的Rev和Qty和我正在尝试检查col值是否存在或不考虑每一行,例如表id = tbl下的col1是零件名称,表id = tbr下的col2和col3是否有零件修订和零件数量。我想检查零件是否存在指定的修订和数量。我的问题现在清除了吗?
<form autocomplete="off" onsubmit="return false;" name="tvcTableForm">
<input type="hidden" value="tvc-0000000000000002" name="object">
<input type="hidden" value="35004.36845.30464.63080" name="parentOID">
<div id="th">
<div id="tb">
<div id="tblc" style="top: 32px; height: 112px;">
<table id="tbl" class="contentTable" cellspacing="0" cellpadding="0" style="border: 0px none; width: 199px; height: 144px; table-layout: fixed;">
<tbody>
</table>
</div>
<div id="tbrc" style="top: 32px; left: 199px; width: 1106px; height: 112px; overflow: auto;">
<table id="tbr" class="contentTable" cellspacing="0" cellpadding="0" style="border: 0px none; width: 1089px; height: 144px; table-layout: fixed;">
<tbody>
<tr id="r573378134017" class="even" oncontextmenu="return ctxm(event)" style="height: 36px;">
答案 0 :(得分:0)
嗨,如果您使用Java硒,则可以使用此功能
WebElement tbl = driver.findElement(By.id("tbr"));
//check all row, identification with 'tr' tag
List<WebElement> rows = tbl.findElements(By.tagName("tr"));
for(int i=0; i<rows.size(); i++) {
//check column each in row, identification with 'td' tag
List<WebElement> cols = rows.get(i).findElements(By.tagName("td"));
//for(int j=0; j<cols.size(); j++) {
// System.out.println(cols.get(j).getText());
//}
if(cols.size()>=8){
//get col no 2
System.out.println(cols.get(1).getText());
//get col no 8
System.out.println(cols.get(7).getText());
}
}
答案 1 :(得分:0)
这里是另一种方式:使用javascript。
String cellValue = js.executeScript("return arguments[0].children[0].children[arguments[1]].children[arguments[2]].innerText", tableElement, rowIndex, columnIndex));
这基于以下javascript代码,其中r = rowIndex和c = columnIndex
document.querySelector("#table").children[0].children[r].children[c].innerText