博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
0605 代替重复操作的小代码
阅读量:6551 次
发布时间:2019-06-24

本文共 2948 字,大约阅读时间需要 9 分钟。

hot3.png

昨天做个小任务,其中有一步需要执行重复操作,就是select下拉框中勾选option项然后提交。然后再勾选再提交。

提交了几次,太重复太有规律了,花半小时写个代码代替这种重复操作是不是更好。

想好了,就开写,虽然还有点小问题,但基本可以代替部分重复工作了。

package MonitorTest;import java.io.BufferedReader;import java.io.File;import java.io.FileInputStream;import java.io.IOException;import java.io.InputStreamReader;import java.util.ArrayList;import org.openqa.selenium.By;import org.openqa.selenium.WebDriver;import org.openqa.selenium.WebElement;import org.openqa.selenium.firefox.FirefoxDriver;import org.openqa.selenium.support.ui.ExpectedCondition;import org.openqa.selenium.support.ui.Select;import org.openqa.selenium.support.ui.WebDriverWait;public class MonitorTest { public static void main(String[] args) throws InterruptedException, IOException{  //存储监控 名称的文件地址  String fileUrl="D:\\bukejian\\tmp.txt";  //访问地址  String url=;  ArrayList
 list = new ArrayList
();  String encoding="GBK";    File file = new File(fileUrl);  if(file.isFile() && file.exists()){            InputStreamReader read = new InputStreamReader(            new FileInputStream(file),encoding);            BufferedReader bufferedReader = new BufferedReader(read);            String lineTxt = null;            while((lineTxt = bufferedReader.readLine()) != null){               list.add(lineTxt);            }            read.close();         }else{          System.out.println("No exist");         }           System.setProperty("webdriver.firefox.bin", "D:/bukejian/Mozilla Firefox/firefox.exe");  WebDriver dr = new FirefoxDriver();   dr.get(url);  WebElement submit=(new WebDriverWait(dr,10)).until(new ExpectedCondition
(){      @Override      public WebElement apply(WebDriver d){       return d.findElement(By.cssSelector("input[type=\"submit\"]"));      }     });  dr.findElement(By.name("login_username")).clear();  Thread.sleep(1000);  dr.findElement(By.name("login_username")).sendKeys("bukejian");  Thread.sleep(1000);  dr.findElement(By.name("login_password")).clear();  dr.findElement(By.name("login_password")).sendKeys("bukejian");  submit.click();    Thread.sleep(5000);  for(String a :list){   WebElement add=(new WebDriverWait(dr,10)).until(new ExpectedCondition
(){       @Override       public WebElement apply(WebDriver d){        return d.findElement(By.linkText("Add"));       }      });   add.click();      WebElement select=(new WebDriverWait(dr,10)).until(new ExpectedCondition
(){       @Override       public WebElement apply(WebDriver d){        return d.findElement(By.name("type_select"));       }      });      new Select(dr.findElement(By.name("type_select"))).selectByVisibleText("Graph");      new Select(dr.findElement(By.id("local_graph_id"))).selectByVisibleText(a);      dr.findElement(By.cssSelector("input[type=\"submit\"]")).click();//提交    }  dr.close();   }}

代码还是有些问题,好像出自等待时间上面,一直不太懂selenium的等待时间的用法,好好看一下

转载于:https://my.oschina.net/u/571166/blog/272997

你可能感兴趣的文章
网游服务器搭建方案图解(以魔兽世界为例)
查看>>
redis配置文件详解
查看>>
mysql全局变量和局部变量
查看>>
WEB服务之httpd2.2与2.4
查看>>
阅读笔记之<c++对象模型>
查看>>
关于java中字符串截取
查看>>
多个eclipse插件导出同名且版本不同的包带来的问题之分析过程
查看>>
我的友情链接
查看>>
CSS禁止文字选中
查看>>
计算机应用一级B考试专题整理三
查看>>
Python-7 多继承函数调用注意点
查看>>
124第四章-Root介绍与图形界面下设置打印机 学习笔记
查看>>
程序员你怎么看?黄浦江漂浮几千头死猪事件,我们的道德底线在哪里?已经忍不住了要号召“爱护老百姓”...
查看>>
IE9体验版让我爱你有点儿闹心,1不能发博客、2总有广告宣传页、3总问是否把IE设置为默认浏览器...
查看>>
终于理解你的软件 搞那么多年了 (通用权限管理系统组件源码完善了7-8年)
查看>>
黑马程序员---JAVA中运用数组的四种排序方法
查看>>
我的友情链接
查看>>
续定时任务
查看>>
iphone 最全网络总结
查看>>
我的友情链接
查看>>