简体   繁体   English

代码不像以前那样工作(selenium java)

[英]Code isn't working as it was before (selenium java)

i had to add shampoo in the cart it was working fine but now its not their is no change in the code now it scroll the page down and stop working我不得不在购物车中添加洗发水它工作正常但现在不是他们的代码没有变化现在它向下滚动页面并停止工作
Below is my code下面是我的代码

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();

The web code is网页代码是

<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>

What i am getting on 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) 

Referring to the HTML you have shared, you have the following :参考您共享的HTML ,您有以下内容:

driver.findElement(By.linkText("Add to cart")); 

which seems to need some modification in the xpath .这似乎需要在xpath一些修改。 Can you try the following line of code instead:您可以尝试以下代码行吗:

WebElement menuHoverLink = driver.findElement(By.xpath("//a[@title='Add to cart']"));

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM