1

J'ai un code html à partir duquel je dois extraire un texte. si c'était dans la balise href je pourrais utiliser get_attribute ("text"), cependant dans ce code bizarre, il n'y a pas de balise.comment extraire le texte d'une étiquette qui n'a pas d'étiquette spécifique?

<h2 class="slideable title"> 
<span content-slot="title" transcluded="49763">Black Diamond Cheese Bars 400-450 g</span> 
</h2> 

Je veux avoir fromage Black Diamond Bars 400-450 g

i essayé d'obtenir élément avec fente de contenu nom mais je suis incapable de le faire.

+0

Avez-vous essayé d'utiliser 'soup.span.text'? – Mahesh

+0

Merci pour la réponse @Mahesh, j'utilise le selenium find element au lieu de BS –

+0

Son incertitude sur le problème. Vous ne pouvez pas localiser l'élément? vous ne pouvez pas extraire le texte? autre chose? – Guy

Répondre

0

utiliser le sélecteur de classe parent alors l'accès de l'enfant à l'aide. Opérateur (points) en utilisant BeautifulSoup

html.find('div',{'class':'slideable title'}).span.get_text() 
+0

Merci pour le commentaire @ ashishkumar148, J'utilise selenium trouver l'élément au lieu de BS –

+0

vous avez ajouté tag bs donc je pensais que vous l'utiliser – ashishkumar148

0

Utilisez la méthode getText() pour acheive cela, getAttribute() rendement valeur de l'attribut

Essayez cette

WebElement ele= driver.findElement(By.xpath("//span[@transcluded='49763']")); 
String s=ele.getText(); 
System.out.println(s);  

Sortie:

Barres de fromage Black Diamond 400-450 g

+0

utiliser la méthode getext(), ça fonctionne – iamsankalp89

+0

Merci pour la réponse sankalp, Ouais j'aurais pu le faire, mais dans mon cas, j'ai beaucoup de noms transclus avec des identifiants différents. Je ne peux pas l'utiliser pour tout obtenir –

+0

Dans ce cas, utilisez xpath de cet élément ou utilisez cet ID pour localiser span, ou utilisez if-else pour le vérifier. Heureux qu'il vous aide S'il vous plaît accepter comme réponse en cliquant sur le droit – iamsankalp89