Je veux trouver cet élémentSélénium WebDriver ne peut pas trouver l'élément par l'annotation @FindBy
driver.findElement(By.className("name")).findElement(By.tagName("a"));
est là façon d'utiliser l'annotation @FindBy
?
Je veux trouver cet élémentSélénium WebDriver ne peut pas trouver l'élément par l'annotation @FindBy
driver.findElement(By.className("name")).findElement(By.tagName("a"));
est là façon d'utiliser l'annotation @FindBy
?
Ceci est possible. Selenium prend en charge @FindBys
et @FindAll
, ce qui ajoute un réglage plus fin pour les objets de page.
Pour la recherche d'éléments chaînés, (ce que vous faites, une recherche dans une recherche), vous aurez besoin de @FindBys
.
@FindBys({@FindBy(className = "name"), @FindBy(tagName= "a")})
private WebElement element;
Puisque vous êtes à la recherche d'une « une » étiquette à l'intérieur d'un élément avec la classe « nom », essayez de les combiner par sélecteurs XPath ou CSS:
@FindBy(xpath = "//*[@class = 'name']/a")
private WebElement nameLink;
ou
@FindBy(css = ".name > a")
private WebElement nameLink;
I plusieurs test FindBys
annotation en sélénium mais parfois quand utiliser TageName
et Name
ça ne fonctionne pas correctement !!
ofter Recherchez List<WebElement>
pour utiliser le filtre driver.findElement(By.name("...."))
.
merci pour votre réponse, j'ai résolu le problème. je t'aime ♡ –