Kom igångKom igång gratis

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

Visa kurs

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# Select all divs
weather_html %>% 
  ___(xpath = ___)
Redigera och kör kod