硒测试框架

我想从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

回到顶部