-1
votes

Comment obtenir un sélecteur XPath pour une classe chargée de manière dynamique

Une partie du nom de la classe est chargée de manière dynamique (ICO-partily-nuageux) .. J'essaie d'obtenir cette pièce uniquement Source HTML

response.xpath('//html[1]/body[1]/div[1]/div[1]/div[3]/div[2]/div[1]/div[1]/@class=forcast-icon').extract()


1 commentaires

S'il est chargé de manière dynamique, vous ne pouvez pas l'obtenir via Scrapy XPath. Essayez des outils tels que le sélénium ou les éclaboussures.


3 Réponses :


1
votes

Cela le fera:

response.xpath('//html[1]/body[1]/div[1]/div[1]/div[3]/div[2]/div[1]/div[1]/@class').extract_first().split('forecast-icon ')[1]


0 commentaires

1
votes

Pour une option plus simple en utilisant Just XPath, changez votre expression XPath vers:

//div[@data-ng-class][contains(@class,"forecast-icon")]/substring-after(@class,"forecast-icon ")


0 commentaires

0
votes

chose que vous pouvez le faire avec CSS comme celui-ci xxx

maintenant je ne sais pas comment vous obtenez la sélection HTE


0 commentaires