使用selenium webdriver计算网格中的行数

时间:2013-12-07 15:49:27

标签: java selenium selenium-webdriver

在我的应用程序中,我有一个网格,我必须在其中计算行数。以下是HTML代码段:

<div id="ext-gen156" class="x-grid3-scroller" style="width: 1024px; height: 216px;">
   <div id="ext-gen157" class="x-grid3-body" style="width:1005px;"> 
   <div class="x-grid3-row x-grid3-row-first" style="width:1005px;">
   <div class="x-grid3-row x-grid3-row-alt" style="width:1005px;">
   <div class="x-grid3-row" style="width:1005px;">
   <div class="x-grid3-row x-grid3-row-alt" style="width:1005px;">
   <div class="x-grid3-row x-grid3-row-last" style="width:1005px;">
</div>

我还附上了网格的截图(已为其生成了代码段)。任何人都可以帮我找到如何找到没有的方法。行。

我尝试了列表webelement:

List <webelement> gridrow = driver.findElments(By.Xpath("xpath"));
gridrow.getsize();

1 个答案:

答案 0 :(得分:3)

您的代码段有三个错误。

List <webelement> gridrow = driver.findElments(By.Xpath("xpath"));
gridrow.getsize();
  1. 可能只是一个拼写错误,但webelement是一个类名,所以它应该是WebElement
  2. 您还没有包含XPath - 一旦您这样做,您的代码就会正常工作
  3. 要获取List中的元素数量,您应该致电size()
  4. 使用//*[@id='ext-gen156'],您可以选择父级。然后你可以做例如

    List <Webelement> gridrow = driver.findElments(By.Xpath("//*[@id='ext-gen156']/div[contains(@class, 'row')]"));
    gridrow.size();
    

    选择此divs属性包含class的元素中的所有row。我真的不知道你想要使用的确切XPath表达式,所以我只是在猜测。