2017-10-18 114 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

更新了回覆 –

相關問題