Получить конкретное значение на основе столбца и имени строки из динамической веб-таблицы, в которой столбцы и строки также являются динамическими - PullRequest
0 голосов
/ 05 марта 2019

Я должен напечатать определенное значение на основе имен столбцов и строк.Но проблема в том, что положение столбцов и положение строк меняется каждый раз.И данные таблицы являются динамическими, значения постоянно меняются.Все значения не постоянны моя динамическая веб-таблица .и я хочу конкретное значение месяца апреля 2001 года.

1 Ответ

0 голосов
/ 06 марта 2019

Вот пример таблицы, основанной на прикрепленном скриншоте.

<html>
	<table id='table1' border=" 1px solid black">
	<tr>		
		<th>Month/Year</th>
		<th>2003</th>
		<th>2004</th>
		<th>2001</th>
		<th>2005</th>
		<th>2002</th>
	</tr>	
	<tr> 
		<td>May</td>
		<td>122</td>
		<td>84</td>
		<td>7777</td>
		<td>12</td>
		<td>122</td>
	</tr>

	<tr> 
		<td>Feb</td>
		<td>45</td>
		<td>445</td>
		<td>565</td>
		<td>222</td>
		<td>122</td>
	</tr>
	<tr> 
		<td>April</td>
		<td>3556</td>
		<td>212</td>
		<td>21</td>
		<td>1546</td>
		<td>855</td>
	</tr>
	</table>
	<span>-----------------------------------------------</span>
	<table id='table2' border=" 1px solid black">
	<tr>		
		<th>Month/Year</th>
		<th>2002</th>
		<th>2001</th>
		<th>2003</th>
		<th>2004</th>
		<th>2005</th>
	</tr>	
	<tr> 
		<td>April</td>
		<td>120</td>
		<td>243</td>
		<td>221</td>
		<td>21</td>
		<td>65</td>
	</tr>

	<tr> 
		<td>May</td>
		<td>96</td>
		<td>146</td>
		<td>454</td>
		<td>452</td>
		<td>4566</td>
	</tr>
	<tr> 
		<td>March</td>
		<td>788</td>
		<td>139</td>
		<td>10</td>
		<td>1001</td>
		<td>013</td>
	</tr>
	<tr> 
		<td>Feb</td>
		<td>552</td>
		<td>1245</td>
		<td>545</td>
		<td>41</td>
		<td>41</td>
	</tr>
	</table>
</html>

Ниже приведен xpath для получения значения «April / 2001» из таблицы 1.

//table[@id='table1']//td[position()=count(//th[normalize-space(.)='Month/Year']/preceding-sibling::th)+1 and normalize-space(.)='April']/ancestor::tr//td[position()=count(//table[@id='table1']//th[normalize-space(.)='2001']/preceding-sibling::th)+1]

enter image description here И xpath для получения значения "April / 2001" из таблицы 2.

//table[@id='table2']//td[position()=count(//th[normalize-space(.)='Month/Year']/preceding-sibling::th)+1 and normalize-space(.)='April']/ancestor::tr//td[position()=count(//table[@id='table2']//th[normalize-space(.)='2001']/preceding-sibling::th)+1]

enter image description here Единственная разница между двумя вышеуказанными xpaths - это идентификатор таблицы **//table[@id='tableX**,Пожалуйста, обновите локатор таблиц согласно значениям вашего приложения.Дайте мне знать, если это полезно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...