3.5 单选项(Radio Button)
WebElement radio=driver.findElement(By.id("BookMode")); radio.click(); //选择某个单选项 radio.clear(); //清空某个单选项 radio.isSelected(); //判断某个单选项是否已经被选择 |
3.6 多选项(checkbox)
WebElement checkbox = driver.findElement(By.id("myCheckbox.")); checkbox.click(); checkbox.clear(); checkbox.isSelected(); checkbox.isEnabled(); |
3.7 按钮(button)
WebElement btn= driver.findElement(By.id("save")); btn.click(); //点击按钮 btn.isEnabled (); //判断按钮是否enable |
3.8 处理Alert
弹出对话框(Popup dialogs) Alert alert = driver.switchTo().alert(); alert.accept(); //确定 alert.dismiss(); //取消 alert.getText(); //获取文本 |
示例:
private static void alertTest(WebDriver driver) throws InterruptedException { driver.get("http://www.w3school.com.cn/tiy/t.asp?f=hdom_alert"); //浏览器最大化 driver.manage().window().maximize(); //进入frame driver.switchTo().frame("i"); //找到按钮并点击按钮 driver.findElement(By.xpath("//*[@value='显示消息框']")).click(); Thread.sleep(2000); //获取Alert Alert a = driver.switchTo().alert(); //打印出文本内容 System.out.println(a.getText()); //点击确定 Thread.sleep(2000); a.accept(); // 如果alert上有取消按钮,可以使用a.dismiss()代码 } |
3.9 上传文件
3.9.1 元素标签是Input时上传方式
Upload.html文件内容如下:
<body>
<input type="file" id="fileControl" value="选择文件"/>
</body>
代码如下:
private static void uploadTest1(WebDriver driver) throws InterruptedException { //打开上传的网页 - get中输入upload的地址 driver.get("D:\\DownLoad\\UploadTest\\upload.html"); WebElement e1 = driver.findElement(By.id("fileControl")); Thread.sleep(2000); //输入要上传文件的地址 e1.sendKeys("D:\\DownLoad\\UploadTest\\被上传的文件.txt"); Thread.sleep(2000); } |
3.9.2 通过操作桌面浏览窗口上传
示例2 上传文件
3.10 Selenium处理HTML5
3.10.1 处理Vedio
这就需要了解html5中vedio的相关方法了,可以参考http://www.w3school.com.cn/tags/html_ref_audio_video_dom.asp
private static void html5VedioTest(WebDriver driver) throws InterruptedException { driver.get("http://videojs.com/"); Thread.sleep(2000); //找到vedio元素 WebElement vedio = driver.findElement(By.id("preview-player_html5_api")); //声明js执行器 JavascriptExecutor js = (JavascriptExecutor) driver; //对vedio这个元素执行播放操作 js.executeScript("arguments[0].play()", vedio); //为了观察效果暂停5秒 Thread.sleep(5000); //对vedio这个元素执行暂停操作 js.executeScript("arguments[0].pause()", vedio); //为了观察效果暂停2秒 Thread.sleep(2000); //对vedio这个元素执行播放操作 js.executeScript("arguments[0].play()", vedio); //为了观察效果暂停2秒 Thread.sleep(2000); //对vedio这个元素执行重新加载视频的操作 js.executeScript("arguments[0].load()", vedio); //为了观察效果暂停2秒 Thread.sleep( |
3.10.2 处理Canvas
private static void Html5CanvasTest(WebDriver driver) throws InterruptedException { driver.get("http://literallycanvas.com/"); Thread.sleep(2000); //找到canvas元素 WebElement canvas = driver.findElement(By.xpath("//*[@id='literally-canvas']//canvas[1]")); //声明一个操作类 Actions drawPen = new Actions(driver); //点击并保持不放鼠标 ,按照给定的坐标点移动 drawPen.clickAndHold(canvas).moveByOffset(20, 100).moveByOffset(100, 20).moveByOffset(-20, -100).moveByOffset(-100, -20).release().perform(); Thread.sleep(2000); } |
3.11 表单(Form)
//Form中的元素的操作和其它的元素操作一样,对元素操作完成后对表单的提交可以: WebElement approve = driver.findElement(By.id("approve")); approve.click(); //或 approve.submit();//只适合于表单的提交 |
4 其他
上文内容不用于商业目的,如涉及知识产权问题,请权利人联系博为峰小编(021-64471599-8017),我们将立即处理。