代码是不能工作,因为它是之前(硒JAVA)
问题描述:
我不得不在车收藏洗发水 它工作正常 但现在它不 他们是在代码 没有变化现在滚动页面向下停止工作
下面是我的代码代码是不能工作,因为它是之前(硒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)
答
参照已经共享了HTML
,您有以下:
driver.findElement(By.linkText("Add to cart"));
这似乎需要在xpath
一些修改。你可以尝试下面这行代码:
WebElement menuHoverLink = driver.findElement(By.xpath("//a[@title='Add to cart']"));
说明*停止工作*。究竟发生了什么?如果你有一个异常发布堆栈跟踪。 – Guy
它不会执行任何操作 像以前一样,我可以在购物车中添加产品 但现在它向下滚动页面并且不会将产品添加到购物车中 –
从链接的html代码中,我们可以知道必须有一个javascript函数来响应链接的点击事件。在这种情况下,您需要等待浏览器完全在页面上执行脚本标记,才能将javascript函数绑定到单击事件上,否则,点击它之后就不会发生任何事情。您可以在actions.perform()之前添加一些等待/睡眠来查看您的问题是否是这种情况。 – yong