1.验证码简单处理

 /**
* 验证码等待输入函数
* */
private void ZcYzm(WebDriver driver){
boolean flag=false;
while(flag==false){
//获取验证码文本框的值
WebElement zc_yzm=driver.findElement(By.name("ValidationText"));
String strzym=zc_yzm.getAttribute("value");
//System.out.println("ss=="+strzym);
//注册码不能为空
if(strzym == null||"".equals(strzym)){
//System.out.println("sssss");
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
else
{
//验证码长度
int zym_len=strzym.length();
if(zym_len >=6){
System.out.println("您输入的验证码为:"+strzym);
flag=true;
}
} }
}

验证码等待输入(一次性的)

2.验证页面元素是否存在

 /**
* 验证元素是否存在
* */
boolean isElementExsit(WebDriver driver, By locator) {
boolean flag = false;
try {
WebElement element=driver.findElement(locator);
flag=null!=element;
} catch (NoSuchElementException e) {
System.out.println("Element:" + locator.toString()
+ " is not exsit!");
}
return flag;
}

验证元素代码

3.frame和iframe操作

 //刷新右侧frame后,从新进入
driver.switchTo().frame("frmLinkPage2");

iframe操作

退出iframe操作

 //退出iframe
driver.switchTo().defaultContent();

退出iframe

4.随机选择下列菜单内容

 //所学专业1-4
int sxzy=rand.nextInt(3)+1;
System.out.println("所学专业::"+sxzy);
new Select(driver.findElement(By.id("profession"))).selectByIndex(sxzy);

下拉菜单随机选择

5.随机输入内容

//随机数
 Random rand=new Random();

   //身份证号
String[] arraysf={"370802197703138738","140602198703258597","14103019760225449X","140426197508043799"};
int sfzh=rand.nextInt(3);
System.out.println("性别::"+sfzh+"身份证:"+arraysf[sfzh]);

随机输入内容,自定义好内容

6.获取当前秒数

  //获取当前秒数
Calendar calendar=Calendar.getInstance();
int seconds=calendar.get(Calendar.SECOND);

获取秒数

7.获取窗口焦点

 /**
* 获取新的窗口焦点,比如刷新什么的
* 新开窗口焦点获取函数
* */
private int GainWindowFocus(WebDriver driver){
int i=0;
for(String winHandle : driver.getWindowHandles()){
System.out.println("+++" + winHandle);
driver.switchTo().window(winHandle);
i++;
}
return i;
}

获取窗口焦点

8.读取文件写入记事本

  /**
* 写入文件
* 记事本登录账号
* */
private void Write_notepad(String name,String pass){
try{
String datas = name+" "+pass; File file =new File("d:\\17xuezh\\dl.txt"); //if file doesnt exists, then create it
//如果文件不存在,则创建它
if(!file.exists()){
file.createNewFile();
} //true = append file true=追加文本内容
FileWriter fileWritter = new FileWriter(file.getPath(),true);
BufferedWriter bufferWritter = new BufferedWriter(fileWritter);
bufferWritter.write(datas);
bufferWritter.newLine();
bufferWritter.close();
System.out.println("Done ,完成!"); }
catch(IOException e)
{
e.printStackTrace();
}
}

读取文件写入记事本

selenium 学习笔记 ---新手学习记录(3) 问题总结(java)的更多相关文章

  1. selenium 学习笔记 ---新手学习记录(1) 问题总结

    说明:每次学习各种语言时,环境搭建访问国外网址最头疼了,现在只要是工具下载好放到自己网盘,可以随时用. 1.首先工具准备,selenium需要用到的 下载地址 访问密码 ff8f 2.我选择的语言时j ...

  2. selenium 学习笔记 ---新手学习记录(9) 问题总结(java)

    1.百度搜索目标--实例 boolean flag; //点击次数 int shcs=3; int i=0; //窗口焦点控制 String detailWindowHandle = null; // ...

  3. selenium 学习笔记 ---新手学习记录(2) 问题总结

    今天研究了下ie.chrome.firefox浏览器执行脚本 1.首先firefox下执行时,我是安装在d盘了,所以要更改路径 //如果火狐浏览器没有默认安装在C盘,需要制定其路径 System.se ...

  4. selenium 学习笔记 ---新手学习记录(10) 问题总结(java)--poi--excel 操作

    1.当我使用poi想要操作xlsx时,报错,解决方法下载xmlbeans-2.6.0.jar架包,引入即可.点我下载 https://yunpan.cn/cSdVqp6e4v6Jk  访问密码 2c5 ...

  5. selenium 学习笔记 ---新手学习记录(8) 问题总结(java)

    1.获取执行js代码后的返回值 //获取滚动距离 String jl="return $('#chapterul li').height();"; Long jlhq=(Long) ...

  6. selenium 学习笔记 ---新手学习记录(7) 问题总结(java)

    1.想要获取固定ul下所有li的个数  如下图: //获取ul下li的个数 List<WebElement> elements = driver.findElement(By.id(&qu ...

  7. selenium 学习笔记 ---新手学习记录(6) 问题总结(java)

    1.查看网页的cookie信息 //查看cookie 登录后的cookie Set<Cookie> setcoke= driver.manage().getCookies(); for(C ...

  8. selenium 学习笔记 ---新手学习记录(5) 问题总结(java)

    1.今天遇到个奇葩问题,iframe有两个id相同的(如下图) 使用driver.switchTo().frame(“frmLinkPage1”);这个无法使用了. 后来改用driver.switch ...

  9. selenium 学习笔记 ---新手学习记录(4) 问题总结(java)-autoit3脚本使用

    1.安装autoit3 下载地址:点我下载 (提取码:9633) 提取码 下载完成后,一直下一步即可 2.上传头像使用脚本 代码如下: ControlFocus("打开",&quo ...

随机推荐

  1. CXF 的IP拦截

    非常久没有写技术文档了,今天 记录下Webserver的Ip限制吧 需求是:webserver接口能在内网訪问,可是測试平台的webserver要能够在外网訪问,这样就有了一点差别, 这个实现的比較简 ...

  2. UNIX网络编程卷1 时间获取程序server UDP 协议无关

    本文为senlie原创,转载请保留此地址:http://blog.csdn.net/zhengsenlie /** * UDP 协议无关 调用 getaddrinfo 和 udp_server **/ ...

  3. 三维CAD塑造——基于所述基本数据结构一半欧拉操作模型

    三维CAD塑造--基于所述基本数据结构一半欧拉操作模型(elar, B_REP) (欧拉操作  三维CAD建模课程 三维CAD塑造 高曙明老师  渲染框架 brep 带洞 带柄 B_REP brep ...

  4. a中国天气网pi(json格式)

    http://m.weather.com.cn/data/101050101.html 此接口的回报格式例如以下 { "weatherinfo": { "city&quo ...

  5. Android tp的虚拟按键(virtual key)处理

    Android tp的虚拟按键处理 现在在越来越多的Android的手机都是虚拟按键来操作,但是对于开发者来说可能会关心Android对虚拟按键如何处理的.对Linux熟悉的人可能会说,it's ea ...

  6. ceph优秀博文

    ceph官方博文: http://ceph.com/community/blog/ rgw根据rgw用户来分pool存放数据 http://cephnotes.ksperis.com/blog/201 ...

  7. 编写可维护的JS 04

    4.变量.函数和运算符 变量 变量声明提前,单var 函数声明 先声明fn再执行 函数声明不应出现在语句块中 函数调用间隔 函数名与左括号间无间隔 立即调用函数 (fuction(){}) 严格模式  ...

  8. sql server 2000 和 sql server 2005 数据库连接字符串区别

    //sql server 2000 <add name="Connection" connectionString="Data Source=.;Initial C ...

  9. asp.net textbox keyup事件触发后台的textchange事件

    textbox文本框text_change事件,失去焦点才会执行. 通过keyup事件,js控制失去焦点. <asp:TextBox runat="server" ID=&q ...

  10. [vc]如何对radio按钮分组

    如何使用多组? 多组和一组是一样的使用,只要搞清楚哪个是哪一组的就行了.再为对话框添加Radio3和Radio4.很简单,先为这些RadioButton排个顺序,就是排列他们的TABORDER.在对话 ...