【问题标题】:Scroll a webpage which doesn't have a scroll bar - Selenium Java滚动没有滚动条的网页 - Selenium Java
【发布时间】:2020-04-20 21:20:59
【问题描述】:

我尝试了以下操作,但仍然无法滚动。例如。滚动到页面中的第 8 个图块。

网页:https://silveraisle.com/#/products?brand=Dankotuwa

((JavascriptExecutor) driver).executeScript("arguments[0].scrollIntoView(true);", elementToScrollTo);

【问题讨论】:

  • 你是如何定位元素的?请在问题中添加这一点
  • 页面中的第 8 个图块是什么?
  • WebElement elementToScrollTo=driver.findElement(By.xpath("((//div/app-product)[8]//div/button)[1]")); ((JavascriptExecutor) 驱动程序).executeScript("arguments[0].scrollIntoView(true);", elementToScrollTo);
  • 第 8 块瓷砖是产品 - Portmeirion Pomona Botanique 印花蜡烛

标签: java selenium selenium-webdriver selenium-chromedriver


【解决方案1】:

您可以使用 JavaScript 在元素上单击作为解决方法。

((JavascriptExecutor) driver).executeScript("arguments[0].click();", driver.findElements(By.cssSelector("app-product button")).get(10));

【讨论】:

    【解决方案2】:

    您可以滚动到网页元素

    (new WebDriverWait(driver, 20)).until(ExpectedConditions.visibilityOfElementLocated(locator));

    WebElement 元素 = driver.findElement(locator);

    Point point = element.getLocation(); JavascriptExecutor jsExecutor = ((JavascriptExecutor) 驱动);

    int y = point.getY() - 200;

    jsExecutor.executeScript("window.scrollTo(" + point.getX() + "," + y + ");", "");

    希望这会有所帮助。

    【讨论】:

      猜你喜欢
      • 2020-03-04
      • 1970-01-01
      • 2018-11-17
      • 1970-01-01
      • 1970-01-01
      • 2013-02-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多