前面所讲的,大部分是WebDriver这个接口以及相关的类的使用.而本文所讲的窗口与导航,也是里面的内容,而且非常简单,目测就能学会. 一.窗口,也就是window,这里的窗口是指浏览器窗口.他的方法主要有: 返回类型 方法说明 void fullscreen() 将当前浏览器窗口最大化 Point getPosition() 获得浏览器左上角位置 Dimension getSize() 获得当前窗口的大小 void maximize() 将当前窗口最大化 void setPosition(Po…
有时候,网页未加载完成,或加载失败,但是我们后续的代码就已经开始查找页面上的元素了,这通常将导致查找元素失败.在本系列Selenium窗口切换-----Selenium快速入门(六)中,我们就已经出现过类似的问题,当一次访问的时候,发现页面不一定能成功加载iframe,需要再次刷新,iframe才可以成功加载.等待,就是要解决这类的问题,实际上,我们前面已经在不知不觉中使用了,就是使用java自身的Thread.Sleep()进行暂停等待.而Selenium对于元素等待则提供了隐式和显式两种等待…
上一篇<元素定位-----Selenium快速入门(二)>说了,如何定位元素,本篇说说找到的元素(WebElement)该怎么用. WebElement常用方法:  返回值  方法名  说明  void  clear() 如果找到的元素是input 或  textarea,则清除它的值.其他元素不受影响.   void  click() 点击一个元素,元素必须可见,并且宽高都必须大于0.如果这个点击操作导致页面刷新的话, 必须要抛弃这个元素的所有引用,并且对这个元素的进一步操作, 都会引发St…
有时候,我们打开多个窗口,进行多窗口操作,那么窗口间该如何切换呢? 切换的方法有两个,一个是通过窗口标题来验证,另一个是通过窗口特定的内容来验证,这两个方法都要求得到的标题或内容是唯一的. 用到的相关方法有: 方法 说明 String getTitle() 返回当前窗口的标题 String getPageSource() 获取最后加载页面的源.如果页面在加载后被修改(例如,由JavaScript),则不能保证返回的文本是修改过的页面. String getWindowHandle() 获得能唯一…
js框,就是JavaScript中的警告框(alert),确认框(confirm),提示框(prompt),他们都是模态窗口.什么是模态窗口,大家可以自行百度一下,简单说就是弹出的窗口是在最顶端的,你点击文档,无法切换到文档,它总是在最顶端,最先接受用户的响应,而且这种框同时只能存在一个.这有点像播放器的当播放时总在最前一样. Selenium中对js框的操作非常简单,js框在Selenium中被抽象成Alert对象,只有四个方法: void accept() :点击“确定”按钮 void di…
上一篇说了窗口的切换,本篇说说框架的切换. 切换框架:是指切换html中的iframe标签元素或者frame标签元素,注意,并不包括frameset 以下是常用的方法: 方法 说明 WebDriver switchTo().frame(int index) 通过索引切换到指定的框架,若框架不存在,则抛出异常 NoSuchFrameException WebDriver switchTo().frame(String nameOrId) 通过框架的name或者id切换到指定的框架,若框架不存在,则…
Frame相关 import time from selenium import webdriver from selenium.common.exceptions import NoSuchElementException browser = webdriver.Firefox() url = 'http://www.runoob.com/try/try.php?filename=jqueryui-api-droppable' browser.get(url) browser.switch_t…
Selenium是一套自动化测试框架.官方网站是:https://www.seleniumhq.org/  某些童鞋访问可能需要FQ. Selenium支持多种语言开发,例如Java,Python,C#,PHP等.本系列将使用Java开发,使用Eclipse作为开发工具,Selenium版本3.9.1,系统Win10. 一.Eclipse和JDK的下载和安装 Selenium3.x要求Java8或以上,Eclipse4.7.2要求JRE8u112,环境需求可看: https://www.ecli…
一.eclipse设置 工欲善其事必先利其器,在说元素定位之前,先来设置下eclipse. 首先放大一下字体,点击windows-preferences 其次,eclipse对于java的智能提示默认是输入.才触发的,我们改为任意一个字母即可触发. Java-Editor-Content Assist 在Auto activation triggers for java 输入:abcdefghijklmnopqrstuvwxyz. 注意,最后是有一点的"." 最后,我不想工具栏中有那么…
Selenium的基本使用,已经介绍得差不多了,今天来简单说说RemoteWebDriver与Grid,也是本系列的最后一篇. 还记得本系列第一章(Selenium简介与环境搭配)的配置中,提到我们下载的 selenium-server-standalone-3.9.1.jar 并非是必要的.那什么时候需要用到呢?就是本文说的,当我们要用到远程测试(RemoteWebDriver)与并行测试(Grid)的时候,才会用到该文件,并且该文件只需放到服务器端,客户端并不需要.当然,为了方便测试,你也可…