硒测试框架
我想从Youtube学习硒。我在框架上编写了下面的简单代码。我想点击linkText
这是不可见的,但手动可以滚动并点击它。我用下面的代码尝试,但得到的错误:硒测试框架
org.openqa.selenium.WebDriverException: unknown error: Element is not clickable
我的代码:
JavascriptExecutor js = (JavascriptExecutor)driver; js.executeScript("window.scrollTo(0, document.body.scrollHeight);");
向下滚动一段:
public class Frame_Test { WebDriver driver;
@Test
public void test1()
{
System.setProperty("webdriver.chrome.driver", "C:\\chromedriver_win32\\chromedriver.exe");
ChromeOptions options = new ChromeOptions();
options.addArguments("--start-maximized");
driver = new ChromeDriver(options);
driver.get("http://seleniumhq.github.io/selenium/docs/api/java/index.html");
driver.manage().timeouts().implicitlyWait(10,TimeUnit.SECONDS);
driver.switchTo().frame("packageListFrame");
driver.findElement(By.linkText("org.openqa.selenium.safari")).click();
}
}
回答:
你可以打倒屏幕高度使用此代码滚动像素数量:
js.executeScript("scroll(0, 300);");
滚动某些像素数:
js.executeScript("scroll(0, -300);");
希望它可以帮助你!
回答:
您可以使用以下方法:
public static void scrollToElement(By elementToken, WebDriver driver){ WebElement element = driver.findElement(elementToken);
((JavascriptExecutor) driver).executeScript("arguments[0].scrollIntoView(true);", element);
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
或者,如果你不想使用,你可以在你的代码中使用的滚动码的明确方法:
driver.get("http://seleniumhq.github.io/selenium/docs/api/java/index.html"; driver.manage().timeouts().implicitlyWait(10,TimeUnit.SECONDS);
driver.switchTo().frame("packageListFrame");
WebElement element = driver.findElement(By.linkText("org.openqa.selenium.safari"));((JavascriptExecutor) driver).executeScript("arguments[0].scrollIntoView(true);", element);
driver.findElement(By.linkText("org.openqa.selenium.safari")).click();
以上是 硒测试框架 的全部内容, 来源链接: utcz.com/qa/260051.html