Java 使用selenium刮取td属性行

Java 使用selenium刮取td属性行,java,selenium,selenium-webdriver,html-table,Java,Selenium,Selenium Webdriver,Html Table,我正试图用硒来擦一桌产品 下面是我的示例表: <div class="article"> <table style="width: 100%"> <tbody><tr> <td class="trenner_u"></td> <td class="trenner_u">

我正试图用硒来擦一桌产品

下面是我的示例表:

<div class="article">
  <table style="width: 100%">
        <tbody><tr>
          <td class="trenner_u"></td>
          <td class="trenner_u">
            <a href="/details/12900101" class="changeable">
              <span>Product 1 </span>
            </a>
          </td>
          <td class="trenner_lu">
            11.11.1999
          </td>
          <td class="trenner_lu">
            <a title="Category Product Group" href="/grp/detailsSmallTB_iframe=true&amp;height=132&amp;width=420" class="thickbox">Group 1</a>
          </td>
          <td class="trenner_lu">
1999$
          </td>
        </tr>
        <tr>
          <td class="trenner_u"></td>
          <td class="trenner_u">
            <a href="/details/12900347" class="changeable">
              <span>Product 2 </span>
            </a>
          </td>
          <td class="trenner_lu">
            1.12.1944
          </td>
          <td class="trenner_lu">
            <a title="Category Product Group" href="/grp/detailsSmallTB_iframe=true&amp;height=132&amp;width=420" class="thickbox">Group 2</a>
          </td>
          <td class="trenner_lu">
1234$
          </td>
        </tr>
        <tr>
          <td class="trenner_u"></td>
          <td class="trenner_u">
            <a href="/details/12908635" class="changeable">
                <img class="positionable" src="/ImageImage/12908635" alt="" style="width: 100px; opacity: 0.9;">  
              <span>Product 1 </span>
  <img src="/Content/images/icons/photo.png" alt="Foto">
            </a>
          </td>
          <td class="trenner_lu">
            05.12.1950
          </td>
          <td class="trenner_lu">
                        <a title="Category Product Group" href="/grp/detailsSmallTB_iframe=true&amp;height=132&amp;width=420" class="thickbox">Group 2</a>
,<a title="Category Product Group" href="/grp/detailsSmallTB_iframe=true&amp;height=132&amp;width=420" class="thickbox">Group 4</a>

          </td>
          <td class="trenner_lu">
131282$
          </td>
        </tr>
        
  </tbody></table>
</div>
有什么建议可以让这样的桌子刮得更有效率吗


谢谢你的回复

把你与之互动的每件事都当作对象来考虑:

class Table {
    private static final String TABLE_CELL = "//table/tbody/tr[%d]/td[%d]";

    public String getTableCellText(int row, int col) {
        WebElement cell = driver.findElement(By.xpath(String.format(TABLE_CELL, row, col)));
        return cell.getText();
    }
}
您可以根据需要使用它:

    Table t = new Table();
    System.out.println(t.getTableCellText(3, 5)); // prints 131282$

您可能会遍历每一行,以便更清楚地了解您在python中所做的工作:

rows = driver.find_elements(By.XPATH, "//*[@id=\"home\"]/div[3]/table/tbody/tr")
for row in rows:
    cells = row.find_elements(By.XPATH, "//td")
    product_name = cells[1].text
    ... etc ...
    Table t = new Table();
    System.out.println(t.getTableCellText(3, 5)); // prints 131282$
rows = driver.find_elements(By.XPATH, "//*[@id=\"home\"]/div[3]/table/tbody/tr")
for row in rows:
    cells = row.find_elements(By.XPATH, "//td")
    product_name = cells[1].text
    ... etc ...