首页 > 解决方案 > 如何使用 selenium webdriver 读取表格中的单元格值

问题描述

[以下是html代码。实际上,我无法理解如何实际解释 webtable 有两个表 id tbl 和 tbr 并且表共有 4 行的情况。表 id=tbl 下的第一列以及其余列 Rev 和 Qty 和表 id=tbr 下的其他人。我正在尝试检查 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;">

标签: seleniumselenium-webdriverwebdriver

解决方案


这是另一种方式:使用 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

推荐阅读