文档章节

小代码改进

木子木
 木子木
发布于 2014/06/05 12:16
字数 352
阅读 15
收藏 0
 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_improve {
 public static void main(String[] args) throws InterruptedException, IOException{
  //存储监控 名称的文件地址
  String fileUrl="D:\\bukejian\\tmp.txt";
  //访问地址
  String url=;
  ArrayList<String> list = new ArrayList<String>();
  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<WebElement>(){
      @Override
      public WebElement apply(WebDriver d){
       return d.findElement(By.cssSelector("input[type=\"submit\"]"));
      }
     });
  dr.findElement(By.name("login_username")).clear();
  dr.findElement(By.name("login_username")).sendKeys("bukejian");
  dr.findElement(By.name("login_password")).clear();
  dr.findElement(By.name("login_password")).sendKeys("bukejian");
  submit.click();
  
  int j=0;
  for(String a :list){
   (new WebDriverWait(dr,10)).until(new ExpectedCondition<WebElement>(){
       @Override
       public WebElement apply(WebDriver d){
        return d.findElement(By.linkText("Add"));
       }
      }).click();
   
   WebElement select=(new WebDriverWait(dr,10)).until(new ExpectedCondition<WebElement>(){
       @Override
       public WebElement apply(WebDriver d){
        return d.findElement(By.name("type_select"));
       }
      });
   new Select(select).selectByVisibleText("Graph");
   
   WebElement graph_id=(new WebDriverWait(dr,10)).until(new ExpectedCondition<WebElement>(){
       @Override
       public WebElement apply(WebDriver d){
        return d.findElement(By.id("local_graph_id"));
       }
      });
      new Select(graph_id).selectByVisibleText(a);
      
      (new WebDriverWait(dr,10)).until(new ExpectedCondition<WebElement>(){
       @Override
       public WebElement apply(WebDriver d){
        return d.findElement(By.cssSelector("input[type=\"button\"]"));
       }
      }).click();
      
      
      //dr.findElement(By.cssSelector("input[type=\"submit\"]")).click();//提交
          
      System.out.println(j+"="+a);
      j++;    
  }
  dr.close();  
 }
}

全加上了 等待10s,用取消操作验证了下倒是不会超时报错了

Exception in thread "main" org.openqa.selenium.NoSuchElementException: Unable to locate element: {"method":"bukejian","selector":"bukejian"}

之前会报这种错误,应该是没找到元素超时了,这次所有元素都最多等待10s应该不会报错了吧

© 著作权归作者所有

共有 人打赏支持
木子木

木子木

粉丝 5
博文 37
码字总数 7425
作品 0
朝阳
PhpStorm 10 发布,PHP 7 和 PHPUnit 5 支持

PhpStorm 10 正式版发布下载,此版本最主要的是 PHP 语言支持,编辑体验改进,调试器改进,代码分析改进和其他强大的新特性。 改进列表: PHP 语言和编辑体验:PHP 7支持 (including PHP 7 c...

oschina
2015/11/03
18.8K
46
Qt Creator 2.4.0 beta 发布

Qt Creator 2.4 beta 发布。该版本包括了许多大大小小的改进,以及一些新功能。 根据Qt博客的Eike Ziller介绍,最诱人的功能/改进无疑是新增的“同步声明及定义”功能。使用该功能,当要改变...

小卒过河
2011/10/21
1K
2
SpringSide 3.0.2 发布

新版本总体改进如下: 总体改进: 从头完善Wiki文档.(finish) 重新提供All in One 版本.(finish) 编写quickstart.bat实现傻瓜式初始化流程,见QuickStart 3.0.2。(finish) 整理Checkstyle/Pm...

oschina
2008/09/25
1K
0
AppCode 3.1.3 发布,Objective-C 集成开发环境

AppCode 3.1.3 发布,此版本现已提供下载,IDE 中系统会自动提示更新。此版本主要是改进 Swift 支持,包括一些 Swift 1.2 引入的新特性。 主要改进: 参数信息 Swift 模块自动完成功能 Swif...

oschina
2015/02/26
1K
2
POJ 1276 Cash Machine 解答

题目详见: http://poj.org/problem?id=1276 这道题与POJ 1014同属一类题, 区别在于POJ 1014的解是求恰好等于容量的情况, 而这道题较为常规, 同时这道题的数据较大, 套用我在博客http://blog...

fjie
2014/01/13
0
0

没有更多内容

加载失败,请刷新页面

加载更多

linux学习-0919

linux和windows互传文件 用户配置文件和密码配置文件 用户组管理 用户管理 一、linux和windows互传文件 linux和windows可以互相传输文件,但是需要使用xshell 并且安装lrzsz包: yum insta...

wxy丶
22分钟前
1
0
收集几个开源的微信小程序开发框架

1、 mpvue mpvue 是美团点评开源的一个使用 Vue.js 开发小程序的前端框架。框架基于 Vue.js 核心,mpvue 修改了 Vue.js 的 runtime 和 compiler 实现,使其可以运行在小程序环境中,从而为小...

哥本哈根的小哥
29分钟前
1
0
Golang CSP并发模型

今天介绍一下 go语言的并发机制以及它所使用的CSP并发模型 CSP并发模型 CSP模型是上个世纪七十年代提出的,用于描述两个独立的并发实体通过共享的通讯 channel(管道)进行通信的并发模型。 CS...

xtof
29分钟前
1
0
用chrome在电脑上模拟微信内置浏览器

先了解安卓微信和Ios微信的UA(User agent:用户代理) 安卓微信UA: mozilla/5.0 (linux; u; android 4.1.2; zh-cn; mi-one plus build/jzo54k) applewebkit/534.30 (khtml, like gecko) ve......

可达鸭眉头一皱
36分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部