Xpath - И выпуск - PullRequest
       5

Xpath - И выпуск

0 голосов
/ 18 декабря 2018

Что нужно сделать, чтобы выбрать определенный элемент на динамическом веб-сайте с помощью xpath?Допустим, в следующей таблице: я хотел бы выбрать вторую строку,

  • столбец a "в порядке"
  • столбец c пуст
  • столбец d равен«Доступен»

Я планирую выбрать входное изображение с «icon_edit» в качестве источника, но с моим текущим xpath он выбирает два из них.

  //*[normalize-space(td[1])="ok" and not(normalize-space(td[3])) and normalize-space(td[4]="Available")]//*[contains(@src, "icon_edit")]

<html>
	<body>
		<table>
			<tbody>
				<tr>
					<th>a</th>
					<th>b</th>
					<th>c</th>
					<th>d</th>
					<th>e</th>
					<th>f</th>
					<th>Actions</th>
				</tr>
				<tr>
					<td><span>ok</span></td>
					<td><span>has date</span></td>
					<td><span>has date</span></td>
					<td><span>Available</span></td>
					<td><span>1</span></td>
					<td><span></span></td>
					<td><input type="image" src="../../Images/icon_edit_Grey.gif">
						<input type="image" src="../../Images/icon_delete_Grey.gif">
					</td>
				</tr>
				<tr>
					<td><span>ok</span></td>
					<td><span>has date</span></td>
					<td><span></span></td>
					<td><span>Available</span></td>
					<td><span>1</span></td>
					<td><span></span></td>
					<td><input type="image" src="../../Images/icon_edit_Grey.gif">
						<input type="image" src="../../Images/icon_delete_Grey.gif">
					</td>
				</tr>
				<tr>
					<td><span>ok</span></td>
					<td><span>has date</span></td>
					<td><span></span></td>
					<td><span>Not Available</span></td>
					<td><span>1</span></td>
					<td><span></span></td>
					<td><input type="image" src="../../Images/icon_edit_Grey.gif">
						<input type="image"src="../../Images/icon_delete_Grey.gif">
					</td>
				</tr>
				<tr>
					<td><span>Not ok</span></td>
					<td><span>has date</span></td>
					<td><span></span></td>
					<td><span>Available</span></td>
					<td><span>2</span></td>
					<td><span></span></td>
					<td><input type="image" src="../../Images/icon_edit_Grey.gif">
						<input type="image" src="../../Images/icon_delete_Grey.gif">
					</td>
				</tr>
		<table>
	</body>
</html>

1 Ответ

0 голосов
/ 18 декабря 2018

Вы сделали опечатку в третьем предикате.Просто замените

normalize-space(td[4]="Available")

на

normalize-space(td[4])="Available"

Обратите внимание, что normalize-space(td[4]="Available") всегда возвращает true, а normalize-space(td[4])="Available" возвращает true, если необходимое условие выполнено

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