Je travaille sur un script qui vise à "prendre toutes les entrées écrites par les utilisateurs" sous un titre spécifique dans un site Web (dans ce cas, le titre est "python (programlama dili"). Je voudrais lire le nombre qui indique le nombre actuel de pages sous ce titre spécifique.
La raison de la lecture du nombre de ces éléments est que le nombre de pages peut augmenter au moment où nous exécutons le script en raison du nombre croissant d'entrées par les utilisateurs. Ainsi, je devrais prendre le nombre qui existe dans l'élément via un script.
Dans ce cas, j'ai besoin de lire "122" comme valeur et de l'affecter à une variable int. J'utilise Selenium pour prendre toutes les entrées et le pilote Web Firefox.
3 Réponses :
Commencez par sélectionner le sélecteur .last
et vous pourrez ensuite en extraire la référence. N'oubliez pas de scinder la référence.
my_val = driver.find_element_by_css_selector(".last [href]").split("p=")[1]
Mon script doit prendre automatiquement la valeur du nombre de pages. Je veux dire, la valeur qui est de 122 peut augmenter dans les jours suivants. Donc, Script doit lire le numéro actuel. Si je copie le chemin css, je contiendra le dernier numéro de l'élément. Cependant, cela peut changer dans les jours suivants. Est-ce que je l'ai expliqué clairement? Sinon, je peux l'expliquer à nouveau.
Mon extrait de code prend la valeur actuelle de la référence du lien. Si le site Web est mis à jour, vous devez réexécuter votre script, et cette fois, le script détectera la nouvelle valeur.
Il vaudrait mieux que vous essayiez d'y accéder en utilisant xpath.
Je peux trouver le bouton via xpath. Cependant, comment puis-je obtenir la valeur (qui est un nombre dans ce cas) dans le bouton?
Essayez d'obtenir l'attribut value de l'élément, vous avez mentionné que vous pouvez trouver l'élément en utilisant xpath afin que vous puissiez faire ce qui suit.
value = int(user_count)
Si cela vous donne le nombre (comme une chaîne) alors vous pouvez simplement convertir en un entier comme d'habitude
user_count = element.get_attribute('value')