热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Java自动化获取页面主题_基于Selenium2+Java的UI自动化(4)WebDriverAPI简单介绍

1.启动浏览器前边有详细介绍启动三种浏览器的方式(IE、Chrome、Firefox);privateWebDriverdrivernull;privateStrin

1. 启动浏览器

前边有详细介绍启动三种浏览器的方式(IE、Chrome、Firefox);

private WebDriver driver = null;

private String chromeDriverDir = "D:\\workspace\\A_Test\\resource\\chromedriver.exe";

/**

* 打开谷歌浏览器;

*/

public void openChromeBrowser(){

System.setProperty("webdriver.chrome.driver", chromeDriverDir);

driver = new ChromeDriver();

}

2.访问网页地址

方式一:

/**

* 访问网页地址方式一;

*/

public void visitURL1(){

String baseUrl = "http://www.baidu.com/";

driver.get(baseUrl);

}

方式二:

/**

* 访问网页地址方法二;

*/

public void visitURL2(){

String baseUrl = "http://www.sogou.com/";

driver.navigate().to(baseUrl);

}

3. 模拟后退功能

/**

* 模拟后退功能;

*/

public void visitRecentUrl(){

String url1 = "http://www.baidu.com/";

String url2 = "http://www.sogou.com/";

driver.navigate().to(url1); //先访问百度

driver.navigate().to(url2); //再访问搜狗

driver.navigate().back(); //返回上一次返回的百度页面;

}

4.模拟前进功能

/**

* 模拟前进功能;

*/

public void visitNextUrl(){

String url1 = "http://www.baidu.com/";

String url2 = "http://www.sogou.com/";

driver.navigate().to(url1); //先访问百度

driver.navigate().to(url2); //再访问搜狗

driver.navigate().back(); //返回上一次返回的百度页面;

driver.navigate().forward(); //从百度页面跳转的搜狗页面;

}

5. 刷新页面

/**

* 刷新当前页面;

*/

public void refreshCurrentPage(){

String baseUrl = "http://www.sogou.com/";

driver.navigate().to(baseUrl);

driver.navigate().refresh(); //刷新当前页面

}

6.窗口最大化

/**

* 窗口最大化

*/

public void maxWindows(){

String baseUrl = "http://www.sogou.com/";

driver.navigate().to(baseUrl);

driver.manage().window().maximize(); //窗口最大化;

}

7.获取当前页面的title属性值

/**

* 获取当前页面的title属性值;

*/

public void getTitle(){

String url = "http://www.baidu.com/";

driver.navigate().to(url);

String title = driver.getTitle(); //获取当前页面的title值;

System.out.println(title);

}

1f703f4550bd790bf3d7951fd833683cbfa92a4b_1_690x281.jpg

QQ图片20161117210058.jpg1117x456 68.6 KB

8.获取当亲页面的源代码

/**

* 获取当前页面的源代码;

*/

public void getPageSource(){

String url = "http://www.baidu.com/";

driver.navigate().to(url);

String source = driver.getPageSource(); //获取当前页面的源代码;

System.out.println(source);

}

9. 获取当前页面的网址

/**

* 获取当前页面的网址;

*/

public void getCurrentUrl(){

String url = "http://www.baidu.com/";

driver.navigate().to(url);

String currentUrl = driver.getCurrentUrl(); //获取当前页面的网址;

System.out.println(currentUrl);

}

10. 在输入框中清空原有的文字内容

/**

* 清空输入框原有的文字内容

*/

public void clearText(){

//获取输入框对象;

WebElement inputText = driver.findElement(By.id("kw"));

//清空输入框中的默认文字

inputText.clear();

}

11.在输入框中输入指定文本内容

/**

* 在输入框中输入指定文本

*/

public void inputText(){

//获取输入框对象;

WebElement inputText = driver.findElement(By.id("kw"));

//编辑需要输入的文本;

String text = "UI 自动化";

//在输入框中的输入文本

inputText.sendKeys(text); //sendKeys()方法,是用于输入;

}

12.单击按钮

/**

* 单击按钮

*/

public void clickButton(){

//获取按钮对象;

WebElement button = driver.findElement(By.id("su"));

//判断按钮是否可用

boolean isEnabled = button.isEnabled();

//如果按钮可以点击,就点击按钮;

if(isEnabled){

button.click();

}

}

13.双击元素

/**

* 双击某个元素

*/

public void doubleClick(){

//获取输入框对象;

WebElement inputText = driver.findElement(By.id("kw"));

//声明Action对象

Actions action = new Actions(driver);

//使用doubleClick方法,双击输入框;

action.doubleClick(inputText).build().perform();

}

14.右击元素

/**

* 右击某个元素

*/

public void rightClick(){

//获取输入框对象;

WebElement inputText = driver.findElement(By.id("kw"));

//声明Action对象

Actions action = new Actions(driver);

//使用contextClick方法,右击输入框;

action.contextClick(inputText).build().perform();

}

15.操作单选下拉列表

5ec6471997b056532fb2a60c685d09411c9ac3fc_1_690x422.png

QQ图片20161117213829.png1077x660 61.5 KB

(1)使用下拉列表的下标选择子选项;

/**

* 通过下标选择下拉框的值;

*/

public void operateDropListByIndex(){

//获取下拉列表元素对象;

WebElement selectElement = driver.findElement(By.id("session_kept"));

//声明Select对象;

Select select = new Select(selectElement);

//通过子选项的下标来选择:下标从0开始

select.selectByIndex(0); //表示选择第一个子选项:不保存登录状态;

}

(2)使用value选择;

/**

* 通过子选项的value选择下拉框的值;

*/

public void operateDropListByValue(){

//获取下拉列表元素对象;

WebElement selectElement = driver.findElement(By.id("session_kept"));

//声明Select对象;

Select select = new Select(selectElement);

//通过子选项的选项的value值来选择:

String value = "60" ; //例如:“保存一小时 ” 这个选项的value值是:60

select.selectByValue(value);

}

(3)通过可见文本选择;

/**

* 通过子选项的可见文本选择下拉框的值;

*/

public void operateDropListByVisibleText(){

//获取下拉列表元素对象;

WebElement selectElement = driver.findElement(By.id("session_kept"));

//声明Select对象;

Select select = new Select(selectElement);

//通过子选项的选项的value值来选择:

String visibleText = "保存一天" ; //例如:第6个选项的 可见文本是:“保存1天 ” ;

select.selectByVisibleText(visibleText);

}

16.操作链接

/**

* 点击链接对象;

*/

public void clickLinkText(){

//获取链接元素对象;

WebElement link = driver.findElement(By.linkText("快速注册"));

//点击链接对象;

link.click();

}

17.操作单选按钮

/**

* 操作单选框RadioButton

*/

public void clickRadioButton(){

//获取单选按钮元素对象;

WebElement radio = driver.findElement(By.id("identity"));

//判断单选按钮是否已经被选中;

boolean isSelect = radio.isSelected();

//如果没有选中,就点击,如果已经选中,就不操作;

if(!isSelect){

radio.click();

}

}

18.操作复选框

/**

* 操作复选框CheckBox

*/

public void clickCheckBox(){

//获取复选框元素对象;

WebElement checkbox = driver.findElement(By.id("checked"));

//判断复选框是否已经被选中;

boolean isSelect = checkbox.isSelected();

//如果没有选中,就点击,如果已经选中,就不操作;

if(!isSelect){

checkbox.click();

}

}

我们专注于持续集成,更多原创请关注:www.hordehome.com



推荐阅读
  • 树莓派语音控制的配置方法和步骤
    本文介绍了在树莓派上实现语音控制的配置方法和步骤。首先感谢博主Eoman的帮助,文章参考了他的内容。树莓派的配置需要通过sudo raspi-config进行,然后使用Eoman的控制方法,即安装wiringPi库并编写控制引脚的脚本。具体的安装步骤和脚本编写方法在文章中详细介绍。 ... [详细]
  • Ihavethefollowingonhtml我在html上有以下内容<html><head><scriptsrc..3003_Tes ... [详细]
  • Imtryingtofigureoutawaytogeneratetorrentfilesfromabucket,usingtheAWSSDKforGo.我正 ... [详细]
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • 本文介绍了设计师伊振华受邀参与沈阳市智慧城市运行管理中心项目的整体设计,并以数字赋能和创新驱动高质量发展的理念,建设了集成、智慧、高效的一体化城市综合管理平台,促进了城市的数字化转型。该中心被称为当代城市的智能心脏,为沈阳市的智慧城市建设做出了重要贡献。 ... [详细]
  • 本文主要解析了Open judge C16H问题中涉及到的Magical Balls的快速幂和逆元算法,并给出了问题的解析和解决方法。详细介绍了问题的背景和规则,并给出了相应的算法解析和实现步骤。通过本文的解析,读者可以更好地理解和解决Open judge C16H问题中的Magical Balls部分。 ... [详细]
  • Voicewo在线语音识别转换jQuery插件的特点和示例
    本文介绍了一款名为Voicewo的在线语音识别转换jQuery插件,该插件具有快速、架构、风格、扩展和兼容等特点,适合在互联网应用中使用。同时还提供了一个快速示例供开发人员参考。 ... [详细]
  • sklearn数据集库中的常用数据集类型介绍
    本文介绍了sklearn数据集库中常用的数据集类型,包括玩具数据集和样本生成器。其中详细介绍了波士顿房价数据集,包含了波士顿506处房屋的13种不同特征以及房屋价格,适用于回归任务。 ... [详细]
  • 计算机存储系统的层次结构及其优势
    本文介绍了计算机存储系统的层次结构,包括高速缓存、主存储器和辅助存储器三个层次。通过分层存储数据可以提高程序的执行效率。计算机存储系统的层次结构将各种不同存储容量、存取速度和价格的存储器有机组合成整体,形成可寻址存储空间比主存储器空间大得多的存储整体。由于辅助存储器容量大、价格低,使得整体存储系统的平均价格降低。同时,高速缓存的存取速度可以和CPU的工作速度相匹配,进一步提高程序执行效率。 ... [详细]
  • Google Play推出全新的应用内评价API,帮助开发者获取更多优质用户反馈。用户每天在Google Play上发表数百万条评论,这有助于开发者了解用户喜好和改进需求。开发者可以选择在适当的时间请求用户撰写评论,以获得全面而有用的反馈。全新应用内评价功能让用户无需返回应用详情页面即可发表评论,提升用户体验。 ... [详细]
  • 本文介绍了Web学习历程记录中关于Tomcat的基本概念和配置。首先解释了Web静态Web资源和动态Web资源的概念,以及C/S架构和B/S架构的区别。然后介绍了常见的Web服务器,包括Weblogic、WebSphere和Tomcat。接着详细讲解了Tomcat的虚拟主机、web应用和虚拟路径映射的概念和配置过程。最后简要介绍了http协议的作用。本文内容详实,适合初学者了解Tomcat的基础知识。 ... [详细]
  • CF:3D City Model(小思维)问题解析和代码实现
    本文通过解析CF:3D City Model问题,介绍了问题的背景和要求,并给出了相应的代码实现。该问题涉及到在一个矩形的网格上建造城市的情景,每个网格单元可以作为建筑的基础,建筑由多个立方体叠加而成。文章详细讲解了问题的解决思路,并给出了相应的代码实现供读者参考。 ... [详细]
  • 也就是|小窗_卷积的特征提取与参数计算
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了卷积的特征提取与参数计算相关的知识,希望对你有一定的参考价值。Dense和Conv2D根本区别在于,Den ... [详细]
  • 分享css中提升优先级属性!important的用法总结
    web前端|css教程css!importantweb前端-css教程本文分享css中提升优先级属性!important的用法总结微信门店展示源码,vscode如何管理站点,ubu ... [详细]
  • Apache Shiro 身份验证绕过漏洞 (CVE202011989) 详细解析及防范措施
    本文详细解析了Apache Shiro 身份验证绕过漏洞 (CVE202011989) 的原理和影响,并提供了相应的防范措施。Apache Shiro 是一个强大且易用的Java安全框架,常用于执行身份验证、授权、密码和会话管理。在Apache Shiro 1.5.3之前的版本中,与Spring控制器一起使用时,存在特制请求可能导致身份验证绕过的漏洞。本文还介绍了该漏洞的具体细节,并给出了防范该漏洞的建议措施。 ... [详细]
author-avatar
手机用户2602885631_316
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有