Как я могу создать xpath, который соответствует всем div на странице, которые НЕ имеют определенного класса? - PullRequest
0 голосов
/ 18 ноября 2011

Я, к сожалению, должен почистить веб-страницу, и я делаю это через Google Docs.

Документ выглядит так:

<div class='search'>
 <div class='new'>
  <img src="product1.png" title="Product 1 - €2.40"/>
 </div>
 <div class='new dupe'> <!-- this one appears dimmed: there's a better offer -->
                        <!-- I don't want these in my results -->
  <img src="product1.png" title="Product 1 - €2.70"/>
 </div>
</div>

Текущий xPath выглядит так:

//div[@class='search']//@title

Как я могу изменить это? Я мог бы сделать

//div[@class='search']//div[not(@class='dupe')]//@title

... но это не сработает, потому что на самом деле ни один элемент не имеет списка class, точно равного 'dupe'.

1 Ответ

4 голосов
/ 18 ноября 2011
/div[@class='search']/div[not(contains(@class, 'dupe')]//@title

Я бы старался избегать использования // и был бы более конкретным:

/div[@class='search']/div[not(contains(@class, 'dupe')]/img/@title
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...