Använd predikat för att välja noder baserat på deras underordnade element
Här är nästan samma HTML som tidigare. Den enda skillnaden är att det tredje div-elementet nu har ett p-barn med klassen 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>
Med XPATH går det att göra något som inte är möjligt med CSS: välja element baserat på egenskaperna hos deras underordnade element. För det kan predikat användas. Målet här är att välja enbart de div-element som innehåller ett p-element med klassen third. Du behöver alltså välja bara det div som uppfyller ett visst predikat — att ha rätt underordnat element (det behöver inte vara ett direkt barn). Du gör detta steg för steg.
HTML-koden ovan finns tillgänglig som weather_html.
Den här övningen är en del av kursen
Webbskrapning i R
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# Select all divs
weather_html %>%
___(xpath = ___)