代码为';t与以前一样工作(selenium java)

代码为';t与以前一样工作(selenium java),java,selenium,testing,selenium-webdriver,automated-tests,Java,Selenium,Testing,Selenium Webdriver,Automated Tests,我不得不在车里加洗发水 它工作得很好 但现在不是了 他们的行为准则没有改变 现在它向下滚动页面并停止工作 下面是我的代码 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("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>

参考您共享的
HTML
,您有以下内容:

driver.findElement(By.linkText("Add to cart")); 
这似乎需要在
xpath
中进行一些修改。您是否可以尝试以下代码行:

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

解释停止工作。到底发生了什么?如果在堆栈跟踪后也出现异常。它不会像以前那样执行任何操作,我可以在购物车中添加产品,但现在它向下滚动页面,并且不会在购物车中添加产品。从链接的html代码中,我们可以知道必须有一个javascript函数来响应链接的单击事件。在这种情况下,您需要等待浏览器完全执行页面上的脚本标记,以将javascript函数绑定到click事件,否则,单击它后将不会发生任何事情。您可以在actions.perform()之前添加一些wait/sleep,以查看您的问题是否属于这种情况。从开始工作到现在,您是否更改了任何内容?升级的Selenium版本?更新了您的页面版本(不同的HTML)?没有任何更改感谢您的帮助在我重新启动时它工作正常,但再次停止工作用准确的整个错误堆栈跟踪更新问题。随响应更新
WebElement menuHoverLink = driver.findElement(By.xpath("//a[@title='Add to cart']"));