10
votes

Comment trouver des lignes spécifiques dans une table à l'aide de sélénium?

Voici un exemple de code:

<div id="productOrderContainer">
  <table class="table gradient myPage">


0 commentaires

6 Réponses :


39
votes

Vous pouvez essayer de suivre

int index = 0;
WebElement baseTable = driver.findElement(By.className("table gradient myPage"));
List<WebElement> tableRows = baseTable.findElements(By.tagName("tr"));
tableRows.get(index).getText();


3 commentaires

Cela n'a pas l'air du tout. webdiver.findElement (par.classname ("")) localisera chaque élément dans le document, pas la table que l'OP recherche. Donc, la ligne suivante collectera tous les S dans l'ensemble du document, pas dans la table spécifique.


Mon erreur ... Le nom by.classname n'était pas censé être vide. Copier une erreur de pâte. Merci @rosspatterson


@Koraytugay Si la solution ne fonctionnait pas pour s'il vous plaît laissez-moi savoir avec plus d'informations. Je serai heureux d'aider.



2
votes

Eh bien auparavant, j'ai utilisé l'approche que vous pouvez trouver à l'intérieur du WebElement : xxx

Veuillez noter que je trouve à l'intérieur de la diffusion trouvée instance.

Ce qui précède est le code Java, en supposant que la variable est une instance saine de webDriver


2 commentaires

Cela ne fonctionnera pas comme écrit car Webelement.findellement (by.xpath (...)) interprète le localisateur XPath dans le contexte du document, pas dans le contexte de l'élément comme tous les autres par. quoi que ce soit () .


Il doit être Tablerow.findElement (by.xpath ("TD [2]")) , non?



5
votes

Vous voulez: xxx

en d'autres termes, localiser

avec l'identifiant "quelque chose" contenu dans le rive-numérique th du contenu dans le
avec l'identifiant "producteurContainer", puis obtenez sa valeur de texte (qui est ce que je crois que vous voulez dire par "me faire la valeur dans
"

0 commentaires

0
votes
(.//*[table-locator])[n]
where n represents the specific line.

0 commentaires

2
votes

Si vous souhaitez accéder à une cellule de table xxx

si vous souhaitez accéder à une cellule de table imbriquée - xxx

Pour plus de détails, visitez ce Tutoriel


0 commentaires

0
votes

Le code suivant vous permet de spécifier le numéro de la ligne / de la colonne et d'obtenir la valeur de la cellule : xxx


0 commentaires