0
votes

Comment trouver tous les éléments et cliquez sur eux un par un

Je construis un projet final et je suis resté coincé dans un problème. Site Web: Trello.com J'ai une page contenant des boutons avec des planches que j'ai créées et que vous avez créé pour créer une carte.

J'essaie de stocker tous ces boutons, puis de les localiser par texte et de cliquer sur eux.

Le problème est-ce, je parviens à accéder à tous les boutons, mais je ne peux pas cliquer sur eux Par exemple: il y a trois boutons (voir image), le troisième bouton est "Créer un nouveau tableau". Selon la console, je peux importer son texte, mais ne peut pas cliquer dessus (après la commande, cliquez sur rien ne se produit). Je suis noob, alors j'espère que j'ai tout répertorié, et je serai heureux d'aider.

Ceci est mon code:

Il y a la photo de la page Tello avec les planches. https://ibb.co/kmv6v4n xxx

11 juillet 2019 12:42:26 org.openqa.selenium.remote.protocolhandshake créeesession Info: Dialecte détecté: OSS hj, Tableau sans titre Créer un nouveau conseil


0 commentaires

3 Réponses :


0
votes
  1. Vérifiez votre sélecteur car il peut correspondre à quelque chose qui n'est pas cliquable ou cliquable mais qui ne résulte de rien. Utilisez Outils de développeur de navigateur pour savoir quels sont les matchs comme Vous pourriez obtenir de faux résultats positifs
  2. Il est possible de localiser l'élément par texte de lien partiel comme: XXX

  3. Il y a FINDELS () Fonction qui retourne le Liste de Webéléments qui convient davantage à votre cas d'utilisation
  4. Sachez que une fois que vous avez cliqué sur le lien et que vous naviguez à l'abri de la page, toutes les webelements seront invalidés et vous obtiendrez StaleElementeReferenceException SO SE CONSIDERZ RE-FAIRE La" Recherche "une fois que vous êtes de retour ou une meilleure option pour Modèle de conception de modèle d'objet de page qui implémente Initialisation paresseuse Tactique en matière de localisation des éléments.

0 commentaires

0
votes

Vous devez cliquer sur LI code> Tags non ul code> Vous pouvez modifier votre fonction getmainboardsélectorlist () code> pour revenir Liste code> au lieu de WebElement code>.

List<WebElement> els = boardsPage.getMainBoardSelectorList();

els.get(els.size() - 1).click());


0 commentaires

0
votes
    Step 1: Navigate and Login 

    driver.get("https://trello.com/login");
    Thread.sleep(1000);
    driver.findElement(By.xpath("//*[@id='user']")).sendKeys("paste your username here");
    driver.findElement(By.xpath("//*[@id='password']")).sendKeys("paste your password here");
    Thread.sleep(2000);
    driver.findElement(By.xpath("//*[@id='login']")).click();
    Thread.sleep(3000);

    Step 2: To Click on First Board
    Here in xpath @title is your Board name so create xpath according this, for me test is First board name

    driver.findElement(By.xpath(".//div[@title='test']/descendant::div")).click();
    Thread.sleep(5000);
    driver.navigate().back();
    Thread.sleep(3000);

    Step 3 : To Click on Second Board

    Here in xpath @title is your Board name so create xpath according this, for me test1 is Second board name
    driver.findElement(By.xpath(".//div[@title='test1']/descendant::div")).click();
    Thread.sleep(5000);
    driver.navigate().back();
    Thread.sleep(3000);

    Step 3 : To Click on Third Board
    For Click on Create new board manage xpath from class name and click on it.

    driver.findElement(By.xpath(".//div[@class='board-tile mod-add']/descendant::span")).click();

    by this you can click all your board one by one. You can create function for manage xpath dynamically for board.

0 commentaires