2017-10-18 109 views
-2

我不得不在车收藏洗发水 它工作正常 但现在它不 他们是在代码 没有变化现在滚动页面向下停止工作
下面是我的代码代码是不能工作,因为它是之前(硒JAVA)

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

的网页代码是

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

什么我得到的日食

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) 
+2

说明*停止工作*。究竟发生了什么?如果你有一个异常发布堆栈跟踪。 – Guy

+0

它不会执行任何操作 像以前一样,我可以在购物车中添加产品 但现在它向下滚动页面并且不会将产品添加到购物车中 –

+0

从链接的html代码中,我们可以知道必须有一个javascript函数来响应链接的点击事件。在这种情况下,您需要等待浏览器完全在页面上执行脚本标记,才能将javascript函数绑定到单击事件上,否则,点击它之后就不会发生任何事情。您可以在actions.perform()之前添加一些等待/睡眠来查看您的问题是否是这种情况。 – yong

回答

0

参照已经共享了HTML,您有以下:

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

这似乎需要在xpath一些修改。你可以尝试下面这行代码:

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

感谢您的帮助 它在我重新启动后工作,但又一次停止工作 –

+0

用确切的整个错误堆栈跟踪更新问题。 – DebanjanB

+0

更新了回复 –

相关问题