Comment cliquer sur un élément dans une liste non signée à l'aide de Python Selenium

Cluso99

J'ai une page Web qui comporte des boutons Premier, Précédent, 1, 2, 3, 4, 5, Suivant, Dernier

Je veux cliquer automatiquement sur "Suivant" (et autres) mais je ne trouve pas la bonne façon de le faire à partir d'une liste non signée.

Je peux accéder à l'élément spécifique de la liste. Cependant, je ne peux pas effectuer un .click () sur cet élément sans renvoyer une erreur.

Ceci est la section du code html

<nav>
    <input type="hidden" id="page" name="page" value="2">
    <input type="hidden" id="resetPage" name="resetPage" value="">
    <input type="hidden" id="info_firstPage" value="/info#PCB">
    <ul id="info_pageclass" class="pageclass">
        <li class="disabled" style="pointer-events: none;"><a href="/info#PCB"><span>First</span></a></li>,
        <li class="disabled" style="pointer-events: none;"><a href="/info/page0#PCB" rel="prev"><span>Prev</span></a></li>,
        <li class="hidden-xs" style="pointer-events: none;"><a href="/info" style="background: #41ace2 !important; color: #fff !important;">1</a></li>,
        <li class="hidden-xs"><a href="/info/page2#PCB">2</a></li>,
        <li class="hidden-xs"><a href="/info/page3#PCB">3</a></li>,
        <li class="hidden-xs"><a href="/info/page4#PCB">4</a></li>,
        <li class="hidden-xs"><a href="/info/page5#PCB">5</a></li>,
        <li><a href="/info/page2#PCB" rel="next"><span>Next</span></a></li>,
        <li><a href="/info/page9#PCB"><span>Last</span></a></li>
    </ul>
</nav>

C'est le code python qui passe par l'EDI

>>> soup = BeautifulSoup(driver.page_source, features='html.parser')
>>> next = soup.find("ul", attrs={"id":"info_pageclass"}).find_all("li")[7]
>>> print(next)
<li>
<a href="/info/page2#PCB" rel="next">
<span>Next</span>
</a>
</li>

Ces instructions renvoient toutes la même erreur que celle indiquée (une fois)

>>> next.send_keys(Keys.ENTER)
>>> next.click()
>>> next.a.click()
TypeError: 'NoneType' object is not callable
DebanjanB

Pour click()sur l'élément avec le texte suivant, vous devez induire WebDriverWait pour que l' élément soit cliquable et vous pouvez utiliser l'une des solutions suivantes:

  • Utilisation CSS_SELECTOR:

    WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "ul.pageclass#info_pageclass li>a[rel='next']>span"))).click()
    
  • Utilisation XPATH:

    WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//ul[@class='pageclass' and @id='info_pageclass']//li/a[@rel='next']/span[text()='Next']"))).click()
    
  • Remarque : vous devez ajouter les importations suivantes:

    from selenium.webdriver.support.ui import WebDriverWait
    from selenium.webdriver.common.by import By
    from selenium.webdriver.support import expected_conditions as EC
    

Cet article est collecté sur Internet, veuillez indiquer la source lors de la réimpression.

En cas d'infraction, veuillez [email protected] Supprimer.

modifier le
0

laisse moi dire quelques mots

0commentaires
connexionAprès avoir participé à la revue

Articles connexes

À l'aide de Selenium en Python, comment cliquer sur un lien différent pour chaque élément d'une liste ?

Comment cliquer sur un élément dans une vue de liste à l'aide d'un adaptateur personnalisé

Comment cliquer sur le lien situé dans une liste à l'aide de Selenium WebDriver en Java

Comment cliquer sur un élément dans Selenium WebDriver à l'aide de JavaScript

Comment cliquer sur le bouton présent dans un cadre à l'aide de python selenium webdriver

Comment cliquer et sélectionner une option dans une liste déroulante non sélectionnée à l'aide de Selenium et Java

Comment cliquer sur un élément de la barre de navigation à l'aide de Selenium ?

Comment cliquer sur un élément à l'aide du pilote Web Selenium (Python)

Comment double-cliquer sur un élément à l'aide de Selenium Webdriver

Impossible de localiser et de cliquer sur un élément à l'aide de Selenium et Python

Comment cliquer sur un élément caché dans Selenium WebDriver?

Comment cliquer sur un élément dans Robot Framework Selenium

Python Selenium: cliquer sur un élément "visible" en utilisant Selenium me donne une erreur "élément non visible"

Comment cliquer sur un élément dans le formulaire à l'aide de Robot Framework

Comment cliquer sur un élément dans Puppeteer à l'aide de xPath

Comment puis-je utiliser l'espresso pour cliquer sur un élément dans une vue de liste en fonction du texte de l'élément?

Comment cliquer sur un élément via Selenium Python

Python Selenium - Comment cliquer sur un élément sans bouton

Comment cliquer sur un lien dans un commentaire YouTube à l'aide de python sélénium

« Exception d'élément non visible » lorsque vous essayez de cliquer sur une option de recherche à l'aide de webdriver selenium en python

Comment modifier une valeur dans un élément d'entrée à l'aide de Selenium en Python ?

Impossible de cliquer sur un élément python Selenium

Comment trouver un élément dans une étendue imbriquée à l'aide de Selenium WebDriver?

Impossible de cliquer sur un élément dans une arborescence - Selenium Webdriver Java

Sélectionnez un élément dans une liste à l'intérieur d'un iframe à l'aide de python selenium

Comment localiser et cliquer sur un élément imbriqué dans plusieurs cadres et jeux de cadres via Selenium à l'aide de Webdriver et C #

Comment cliquer sur plusieurs cases à cocher et une liste déroulante à l'aide du package Selenium en python?

Comment cliquer sur l'élément li d'une liste déroulante en utilisant Selenium en Python^

Comment cliquer sur un élément dans la barre de navigation en haut de la page à l'aide de sélénium python ?

TOP liste

  1. 1

    Microsoft.WebApplication.targets

  2. 2

    Exporter la table de l'arborescence vers CSV avec mise en forme

  3. 3

    Spring @RequestParam DateTime format comme ISO 8601 Date Heure facultative

  4. 4

    Comment analyser un hachage Ruby plat en un hachage imbriqué?

  5. 5

    Passer la taille d'un tableau 2D à une fonction ?

  6. 6

    Comment créer une nouvelle application dans Dropbox avec des autorisations complètes

  7. 7

    Algorithme: diviser de manière optimale une chaîne en 3 sous-chaînes

  8. 8

    Laravel SQLSTATE [HY000] [1049] Base de données inconnue 'previous_db_name'

  9. 9

    comment supprimer "compte de connexion google" à des fins de développement - actions sur google

  10. 10

    php ajouter et fusionner des données de deux tables

  11. 11

    Créer un système Buzzer à l'aide de python

  12. 12

    Existe-t-il un moyen de voir si mon bot est hors ligne ?

  13. 13

    Comment changer la couleur de la police dans R?

  14. 14

    Déplacement des moindres carrés d'ajustement pour les déplacements de points ayant des problèmes

  15. 15

    impossible d'obtenir l'image d'arrière-plan en plein écran dans reactjs

  16. 16

    Comment vérifier si un utilisateur spécifique a un rôle? Discord js

  17. 17

    comment afficher un bouton au-dessus d'un autre élément ?

  18. 18

    Comment choisir le nombre de fragments et de répliques Elasticsearch

  19. 19

    Comment ajouter une entrée à une table de base de données pour une combinaison de deux tables

  20. 20

    optimiser les opérations du serveur avec elasticsearch: traitement des filigranes de disque bas

  21. 21

    Comment analyser un fichier avec un tableau d'objets JSON en utilisant Node.js?

chaudétiquette

Archive