/ / Jak uzyskać dokładną liczbę wierszy w webtable w Selenium WebDriver za pomocą Java - java, xpath, webdriver, selenium-webdriver

Jak uzyskać dokładną liczbę wierszy w webtable w Selenium WebDriver używając Java - java, xpath, webdriver, selen-webdriver

zrzut ekranu dla liczby wierszy

Jak uzyskać dokładną liczbę wierszy w webtableza pomocą xpath w webdriver za pomocą Java. Korzystając z poniższej ścieżki, jestem w stanie policzyć również nagłówek. Nie chcę, aby liczba zawierała wiersz nagłówka i pobierała liczbę tabeli internetowej.

//table[@id="ctl00_MasterPlaceHolder_GrdHistory"]/tbody/tr

Kod HTML:

<table id="ctl00_MasterPlaceHolder_GrdHistory" cellspacing="2" cellpadding="0" border="0" style="color:#333333;width:100%;">
<tbody>
<tr style="color:Black;background-color:#DFC065;font-weight:bold;">
<tr style="background-color: rgb(251, 247, 234); text-decoration: none;"   onclick="javascript:__doPostBack("ctl00$MasterPlaceHolder$GrdHistory","Select$0")" onmouseout="javascript:setMouseOutColor(this);" onmouseover="javascript:setMouseOverColor(this);">
<tr style="background-color: rgb(251, 247, 234); text-decoration: none;" onclick="javascript:__doPostBack("ctl00$MasterPlaceHolder$GrdHistory","Select$1")" onmouseout="javascript:setMouseOutColor(this);" onmouseover="javascript:setMouseOverColor(this);">
<tr style="background-color: rgb(251, 247, 234); text-decoration: none;" onclick="javascript:__doPostBack("ctl00$MasterPlaceHolder$GrdHistory","Select$2")" onmouseout="javascript:setMouseOutColor(this);" onmouseover="javascript:setMouseOverColor(this);">
<tr style="background-color: rgb(251, 247, 234); text-decoration: none;" onclick="javascript:__doPostBack("ctl00$MasterPlaceHolder$GrdHistory","Select$3")" onmouseout="javascript:setMouseOutColor(this);" onmouseover="javascript:setMouseOverColor(this);">
<tr style="background-color: rgb(251, 247, 234); text-decoration: none;" onclick="javascript:__doPostBack("ctl00$MasterPlaceHolder$GrdHistory","Select$4")" onmouseout="javascript:setMouseOutColor(this);" onmouseover="javascript:setMouseOverColor(this);">
<tr style="background-color: rgb(251, 247, 234); text-decoration: none;" onclick="javascript:__doPostBack("ctl00$MasterPlaceHolder$GrdHistory","Select$5")" onmouseout="javascript:setMouseOutColor(this);" onmouseover="javascript:setMouseOverColor(this);">
<tr style="background-color: rgb(251, 247, 234); text-decoration: none;" onclick="javascript:__doPostBack("ctl00$MasterPlaceHolder$GrdHistory","Select$6")" onmouseout="javascript:setMouseOutColor(this);" onmouseover="javascript:setMouseOverColor(this);">
<tr style="background-color: rgb(251, 247, 234); text-decoration: none;" onclick="javascript:__doPostBack("ctl00$MasterPlaceHolder$GrdHistory","Select$7")" onmouseout="javascript:setMouseOutColor(this);" onmouseover="javascript:setMouseOverColor(this);">
<tr style="background-color: rgb(251, 247, 234); text-decoration: none;" onclick="javascript:__doPostBack("ctl00$MasterPlaceHolder$GrdHistory","Select$8")" onmouseout="javascript:setMouseOutColor(this);" onmouseover="javascript:setMouseOverColor(this);">
<tr style="background-color: rgb(251, 247, 234); text-decoration: none;"  onclick="javascript:__doPostBack("ctl00$MasterPlaceHolder$GrdHistory","Select$9")" onmouseout="javascript:setMouseOutColor(this);" onmouseover="javascript:setMouseOverColor(this);">
<tr style="background-color: rgb(251, 247, 234); text-decoration: none;" onclick="javascript:__doPostBack("ctl00$MasterPlaceHolder$GrdHistory","Select$10")" onmouseout="javascript:setMouseOutColor(this);" onmouseover="javascript:setMouseOverColor(this);">
<tr style="background-color: rgb(251, 247, 234); text-decoration: none;" onclick="javascript:__doPostBack("ctl00$MasterPlaceHolder$GrdHistory","Select$11")" onmouseout="javascript:setMouseOutColor(this);" onmouseover="javascript:setMouseOverColor(this);">
<tr style="background-color: rgb(251, 247, 234); text-decoration: none;" onclick="javascript:__doPostBack("ctl00$MasterPlaceHolder$GrdHistory","Select$12")" onmouseout="javascript:setMouseOutColor(this);" onmouseover="javascript:setMouseOverColor(this);">
<tr style="background-color: rgb(251, 247, 234); text-decoration: none;" onclick="javascript:__doPostBack("ctl00$MasterPlaceHolder$GrdHistory","Select$13")" onmouseout="javascript:setMouseOutColor(this);" onmouseover="javascript:setMouseOverColor(this);">
<tr style="background-color:#FBF7EA;" onclick="javascript:__doPostBack("ctl00$MasterPlaceHolder$GrdHistory","Select$14")" onmouseout="javascript:setMouseOutColor(this);" onmouseover="javascript:setMouseOverColor(this);">
<tr style="background-color:#FBF7EA;" onclick="javascript:__doPostBack("ctl00$MasterPlaceHolder$GrdHistory","Select$15")" onmouseout="javascript:setMouseOutColor(this);" onmouseover="javascript:setMouseOverColor(this);">

Czy to możliwe, jeśli tak, to w jaki sposób mogę uzyskać liczbę bez uwzględnienia wiersza nagłówka w liczbie. Proszę, pomóż mi z tym. Pomoc będzie mile widziana.

Odpowiedzi:

5 dla odpowiedzi № 1

Użyj poniżej xpath, aby wykluczyć pierwszy wiersz (nagłówki)

//table[@id="ctl00_MasterPlaceHolder_GrdHistory"]/tbody/tr[position()>1]

0 dla odpowiedzi nr 2

Sugeruję :

 count(table[@id="ctl00_MasterPlaceHolder_GrdHistory"]/tbody/tr) - 1

0 dla odpowiedzi № 3

Wypróbuj ten kod:

int count = (driver.findElements(By.xpath("//table[@id="ctl00_MasterPlaceHolder_GrdHistory"]/tbody/tr")).size()) - 1;