Selenium Java: J'automatise une vente au détail site.In Page de destination du produit, nous avons la liste des produits et des prix et des boutons associés
Pour chaque produit, nous avons 2 boutons. À tout moment, un seul bouton serait présent.
Exemple:
Prod 1 Pas de prix button1
Prod 2 Prix button1 bouton2
Je dois cliquer sur un produit avec le bouton 2 et le prix disponible. Veuillez fournir une solution sur la façon de parcourir les produits et cliquez sur les boutons associés.
List<WebElement> Prod = driver.findElements(ProdDesc);
List<WebElement> price = driver.findElements(prodPrice);
List<WebElement> btn = driver.findElements(Button2);
for (int i = 0;i<Prod.size();i++){
if(price.get(i).isDisplayed())
{
if(btn .get(i).isDisplayed())
{
Prod.get(i).click();
break;
}
}
}
Le code ci-dessus identifie le bouton et prix qui est disponible sur le deuxième produit mais clique sur le premier.
0
Author: testergirl, 2018-06-29
1 answers
/* Find list of available products */
List<WebElement> products = driver.findElements(By.cssSelector(PRODUCT_CSS);
/* Traverse the list */
for (int i = 0; i < products.size(); i++) {
/* Get the price of a product, might throw an exception if price is absent */
WebElement price = products.get(i).findElement(By.cssSelector(PRICE_CSS);
if (price.isDisplayed()) {
/* Get the list of buttons inside the product element */
List <WebElement> btnList = driver.findElements(By.cssSelector(BTN_CSS));
/* Make sure there are two buttons */
if (btnList.size() == 2 && btnList.get(1).isClickable()) {
/* Click the second button */
btnList.get(1).click()
}
}
}
0
Author: Eugene, 2018-06-29 11:32:51