怡 许
怡 许

Reputation: 21

webdriver why the table can get its size but canot get its text

the pagesource:

<TABLE class=mini-listbox-items style="WIDTH: 100%" cellSpacing=0 cellPadding=0>
<TBODY>
<TR class="mini-listbox-item mini-listbox-item-selected" id=mini-45$0 index="0">
<TD class=mini-listbox-checkbox><INPUT id=mini-45$ck$0 type=checkbox CHECKED></TD>
<TD class="">xx</TD></TR>
<TR class=mini-listbox-item id=mini-45$1 index="1">
<TD class=mini-listbox-checkbox><INPUT id=mini-45$ck$1 type=checkbox></TD>
<TD class="">yy</TD></TR></TBODY></TABLE></DIV><INPUT type=hidden value=Y></DIV>
<DIV class=mini-errorIcon></DIV></DIV></DIV>
<DIV class=mini-shadow style="DISPLAY: none; Z-INDEX: 1002; LEFT: 393px; WIDTH: 78px; TOP: 326px; HEIGHT: 46px"></DIV></BODY>

my code:

driver.findElements(By.xpath(("//td[@class='mini-listbox-checkbox']/following-sibling::td[position()=1]"))).size();
driver.findElements(By.xpath(("//td[@class='mini-listbox-checkbox']/following-sibling::td[position()=1]"))).get(0).getText();

the first line,it prints 2,then the second line,it prints none,why?

Upvotes: 1

Views: 545

Answers (1)

Santoshsarma
Santoshsarma

Reputation: 5667

Your logic is working fine.

  int n=driver.findElements(By.xpath(("//td[@class='mini-listbox-checkbox']/following-sibling::td[position()=1]"))).size();
  String s=driver.findElements(By.xpath(("//td[@class='mini-listbox-checkbox']/following-sibling::td[position()=1]"))).get(0).getText();
  System.out.println(n+"======>>"+s);

The above code is giving correct output only.

2======>>xx

Upvotes: 1

Related Questions