selenium自动化一点记录
UI自动化
1.webdriver的findElement方法可以查找页面某元素,通常使用方式是通过id和name进行查找
1.By ID根据id进行定位
WebElement element=driver.findElement(By.id("id_name"));
2.By Name根据name进行定位
WebElemnet element=driver.findElement(By.name("name"));
3.By Xpath根据xpath定位
WebElement element=driver.fingElement(By.xpath("//a[@di='id_name']"));
4.By Class Name 根据class名进行定位
WebElement element=driver.findElement(By.className("class_name"));
5.By Link Text 根据标签中的文本内容进行定位
WebElement element=driver.findElement(By.linkText("linkText"));
6.定位下拉选择框
Select select=new Select(driver.findElement(By.id("id_name")));
7,By cssSelector 根据属性来定位
WebElement element=driver.findElement(By.cssSelector("id=id_name"));
对找到的元素进行操作
1.输入框textarea
在输入框中输入内容: element.sendkeys("文本");
清空输入框: element.clear();
获取输入框中的文本内容:element.getText();
2.下拉选择框select
选择对应的选项: select.selectByValue("value");
select.selectVisibleText("value");
不选择对应选择: select.deselectAll()全不选择
select.deselectByValue("value");
select.deselectVisibleText("value");
获取选择项的值: select.getAllSelectedOptions();获取所有的选项值
select.getFristSelectedOption();获取第一个选项值
3.单选项 radio button和多选框 checkbox
找到单选框元素 WebElement redioButton=driver.findElement(By.id("id_name"));
选择某个单选框 redioButton.click();
清空某个单选项 redioButton.clear();
判断单选项是否被选择: redioButton.isSelected();
4.按钮 button
判断按钮是否可点击 element.isEnabled();
5.弹出对话框
Alert alert=driver.switchTo().alert();
确认: alert.accept();
取消: alert.dismiss();
获取alert文本: alert.getText();
6.windows和frames切换
切换至窗口A主框架: driver.switchTo.defaultContant();
从窗口A切换至新窗口B: driver.switchTo.window("B widowTitle");
从窗口切换frame(frame需逐级切换) driver.switchTo.frame("frame控件定位符");
7.导航 navigation
打开新页面 driver.navigate().to("https://www.baidu.com");
通过历史导航前进/后退 driver.navigate().forword();前进
driver.navigate().back();后退
最新文章
- C++虚方法(虚函数)随笔
- VC++ 在使用 CImage 的Draw 输入一个图像时,有时候会造成图像失真严重,解决的方法如下
- (转)ElasticSearch学习
- git bash 出现vim的时候怎么退出
- git搜索--grep
- Java基础(1) - 语法 &; 概念
- Python《学习手册:第二章-习题》
- 关于opencv模板匹配功能的项目测试记录
- 机器学习 - 正则化L1 L2
- laravel5.4 导出 Excel 表格
- Java核心技术卷一基础知识-第14章-多线程-读书笔记
- Swarm stack
- Oracle了解(一)
- .Net转Java.06.字符串的split的区别
- rsync排除多个文件实现同步
- 【Python52--爬虫1】
- 20. Valid Parentheses (Stack)
- 【word2vec】Distributed Representation——词向量
- HTML和CSS <;h1>; --2-- <;h1>;
- re-sign重签名
热门文章
- 如何解决“当前上下文中不存在名称“XXXXXXXX””的问题
- csv文件已经python内置csv模块
- 在Mac上安装office2016破解版
- JQuery手写一个简单的分页
- Notes 20180308 : 语句
- iOS-WebView(WKWebView)进度条
- python 输入一个整数,判断其是否既是3的倍数,又是5的倍数
- <;CPP学习 第二天>; 字符串的输入 及 String类
- optimize table 删除空洞--MYSQL
- js中定时器使用方法经验总结