J'utilise XPath et j'essaie de trouver tous les TD avec un nom de classe div de la "journée", à l'exclusion de ceux avec un nom de classe TD de 'Invalid_day'.
Ceci est pour un calendrier utilisant SELENIUIUM XPATH pour sélectionner uniquement le Correspondant à Div Class 'Day' dans le mois sélectionné. Ignorer toute classe de div des divisons de div des mois précédents ou futurs. P>
html fort> p> après avoir recherché le forum que j'ai essayé assez peu d'approches et tous obtiennent les TD avec Div Class = 'Day'.
Cependant, rien n'a réussi à filtrer ces TD avec un class TD = 'Invalid_day' P> .find_elements_by_css_selector('.day:not(.invalid_day)')
4 Réponses :
Vous pouvez essayer cela. J'espère que cela pourrait vous aider. P> P>
Énorme merci, cela fonctionne !! La tentative initiale était de CSS_SLector avant d'essayer XPath.
L'expression XPath-1.0 suivante doit faire le travail: sortie est: p> 1,2,3 p>
blockQuote> Pour obtenir les éléments Pour trouver tous les balises xpath em> 1: Ignorer les éléments avec classe parent xpath em> 2: Ignorer les éléments avec n'importe quelle classe mère p>
Vous pouvez le faire avec BS4.
code>, vous pouvez simplement ajouter un / .. code> sur XPath ou utiliser l'expression suivante: p>
votes
jour code> à l'exclusion de ceux avec un parent
code > Avec classe em> Invalid_day code> Ie 1,2,3, ... 31 strong>, vous pouvez utiliser l'un des éléments suivants XPath basé sur Stratégies de localisation :
invalid_day code> p> p>
//td[not(@class)]//div[@class='day']
//td[not(@class='invalid_day')]//div[@class='day']
votes
from bs4 import BeautifulSoup
import requests
response = requests.get(URL)
soup = BeautifulSoup(response.text, "lxml")
divs = soup.findAll("div", class_ = "day")