je devais ajouter le shampoing dans le panier il fonctionnait très bien mais maintenant ce ne est pas leur a pas de changement dans le code il maintenant faire défiler la page vers le bas et
cessent de fonctionner Voici mon codecode ne fonctionne pas comme avant (java sélénium)
driver.findElement(By.id("submit")).sendKeys(Keys.ENTER);
WebDriverWait wait = new WebDriverWait (driver, 10);
wait.until(ExpectedConditions.visibilityOfElementLocated(By.id("logout-trigger")));
driver.findElement(By.id("search-trigger")).sendKeys(Keys.ENTER);
driver.findElement(By.id("search")).sendKeys("Shampoo");
driver.findElement(By.id("search")).sendKeys(Keys.ENTER);
driver.findElement(By.id("grid_quantity_1")).sendKeys(Keys.ENTER);
Actions actions = new Actions(driver);
WebElement menuHoverLink = driver.findElement(By.linkText("Add to cart"));
actions.moveToElement(menuHoverLink);
actions.click();
actions.perform();
Le code web est
<div class="grid-add-to-cart" ng-show="prod.currentPrice > 0" ng-mouseleave="hidegridViewToggle($index+1)">
<a title="Add to cart" href="javascript:void(0)" ng-mouseover="showgridViewToggle($index+1)" ng-click="helperService.addToCart('grid_product',prod.productSizeId,$index+1,prod.itemsPerBox)">
<i class="fa fa-shopping-bag faa-shake animated"></i>
</a>
<div class="grid-quantity-field" id="show_grid_input_div_1">
<input ng-keypress="($event.which===13)?helperService.addToCart('grid_product',prod.productSizeId,$index+1,prod.itemsPerBox):helperService.keyCheck($event)" type="number" name="quantity" id="grid_quantity_1" data-ng-class="$even ? 'height_80' : ''" oninput="maxLengthCheck(this)" ng-model="prod.itemsPerBoxInput" maxlength="5" min="1" max="99999" ng-value="userType == 'distributor' ? 6: 1" title="Add Quantity" class="ng-pristine ng-valid ng-valid-min ng-valid-max ng-valid-maxlength height_80 ng-touched" value="1" style="">
</div>
</div>
Qu'est-ce que je reçois sur Eclipse
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at org.openqa.selenium.remote.ErrorHandler.createThrowable(ErrorHandler.java:216)
at org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:168)
at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:635)
at org.openqa.selenium.remote.RemoteWebDriver.get(RemoteWebDriver.java:322)
Expliquer * arrêter de travailler *. qu'est-ce qui se passe exactement? Si vous avez une exception, publiez aussi la trace de la pile. – Guy
Il n'effectue aucune action comme avant j'étais capable d'ajouter un produit au panier mais maintenant il fait défiler la page vers le bas et n'ajoute pas le produit dans le panier –
Du code html du lien, on peut savoir qu'il doit y avoir une fonction javascript pour répondre à l'événement click du lien. Dans ce cas, vous devez attendre que le navigateur exécute complètement les balises des scripts sur la page pour lier la fonction javascript à l'événement click, sinon, il ne se passera rien après avoir cliqué dessus. vous pouvez ajouter un certain wait/sleep avant actions.perform() pour voir votre problème est tel cas ou non. – yong