Selenium实现的技巧
截图功能:
try {
File srcFile = ((TakesScreenshot)dr).getScreenshotAs(OutputType.FILE);FileUtils.copyFile(srcFile,new File("d:\\screenshot.png"));
} catch (Exception e) {
e.printStackTrace();
}
TakesScreenshot接口提供了getScreenshotAs()方法来捕捉屏幕。上面的例子中,我们指定了OutputType.FILE作为参数传递给getScreenshoAs()方法,告诉它将截取的屏幕以文件形式返回。
窗口最大化:driver.manage().window().maximize();
获取页面title:driver.getTilte();
富文本框(Rich Text Editor)的文本插入及获取
sendKeys针对于textarea,input,如果遇到其他的比如页面嵌套文本编辑器的情况,输入文本,就要考虑用js
JavascriptExecutor js = (JavascriptExecutor) driver;
WebElement editor = driver.findElement(By.tagName("body"));
js.executeScript(
"arguments[0].innerHTML = '<h1>Selenium Test </h1>I love Selenium <br> this article Post By Selenium WebDriver<br><h2>Create By Young</h2>'",
editor);
JavascriptExecutor js = (JavascriptExecutor) driver; String result=(String) js.executeScript("arguments[0].getInnerHTML()", e); return result; }
滚动
如果页面没有完全显示,element如果是在下拉之后才能显示出来,只能先滚动到该元素才能进行click,否则是不能click操作
|
JavascriptExecutor js=(JavascriptExecutor)driver; // roll down and keep the element to the center of browser js.executeScript( "arguments[0].scrollIntoViewIfNeeded(true);" , download); |