Use predicados para selecionar nós com base em seus filhos
Aqui está praticamente o mesmo HTML de antes. Além disso, o terceiro div tem um filho p com a classe third.
<html>
<body>
<div id = 'first'>
<h1 class = 'big'>Berlin Weather Station</h1>
<p class = 'first'>Temperature: 20°C</p>
<p class = 'second'>Humidity: 45%</p>
</div>
<div id = 'second'>...</div>
<div id = 'third'>
<p class = 'first'>Sunshine: 5hrs</p>
<p class = 'second'>Precipitation: 0mm</p>
<p class = 'third'>Snowfall: 0mm</p>
</div>
</body>
</html>
Com XPATH, algo que não é possível com CSS pode ser feito: selecionar elementos com base nas propriedades de seus descendentes. Para isso, você pode usar predicados. Aqui, seu objetivo final é selecionar apenas os elementos div que incluem um elemento p com a classe third. Para isso, você vai precisar selecionar somente o div que corresponde a um determinado predicado — ter o respectivo descendente (não precisa ser um filho direto). Você fará isso passo a passo.
Novamente, o HTML acima é fornecido como weather_html.
Este exercício faz parte do curso
Web Scraping em R
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# Select all divs
weather_html %>%
___(xpath = ___)