文档章节

小代码改进

木子木
 木子木
发布于 2014/06/05 12:16
字数 352
阅读 15
收藏 0
点赞 0
评论 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
博文 35
码字总数 7425
作品 0
朝阳
PhpStorm 10 发布,PHP 7 和 PHPUnit 5 支持

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

oschina ⋅ 2015/11/03 ⋅ 46

Qt Creator 2.4.0 beta 发布

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

小卒过河 ⋅ 2011/10/21 ⋅ 2

SpringSide 3.0.2 发布

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

oschina ⋅ 2008/09/25 ⋅ 0

AppCode 3.1.3 发布,Objective-C 集成开发环境

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

oschina ⋅ 2015/02/26 ⋅ 2

PyCharm 3.0 发布,提供免费开源版本

PyCharm 发布最新的 3.0 版本,该版本新特性详见: http://www.jetbrains.com/pycharm/whatsnew/index.html 该版本最主要的是提供了免费开源的版本,开源版本提供的功能包括: 智能编辑器,支...

t莫名 ⋅ 2013/10/23 ⋅ 13

Editor.md v1.5.0 发布,新增黑色主题、支持多行公式等

v1.5.0 主要更新: 新增:编辑器黑色主题 Dark,改进自定义主题功能(即工具栏、编辑区、预览区可分别设置主题样式); 新增:多行公式支持; 新增:支持非编辑状态下的 ToC 自定义容器; 新...

叛道 ⋅ 2015/06/09 ⋅ 15

Web前端开发神器WebStorm v2016.3发布,全新的Flow支持

语言支持 Flow支持 现在可以看到类型错误报告的流程,一个静态类型检查系统,无需保存文件即可使用。 更好的TypeScript TypeScript代码分析现在由TypeScript语言服务支持。WebStorm提供了强大...

zoujiajun33 ⋅ 2016/11/23 ⋅ 0

升级:myeclipse 2015 ci 16发布

Slack Integration 新版本集成了Slack,你只需要注册一个Slack帐号然后就可以发送和接收代码片段。你甚至不需要登录Slack就可以直接在Eclipse中查看分享的代码。 Gerrit Tools 如果你用Gerri...

百mumu ⋅ 2015/10/28 ⋅ 0

AppCode 2.0 发布,JetBrains 的 ObjC 开发工具

JetBrains 的 Objective-C 集成开发环境 AppCode 发布了 2.0 版本,该版本支持流行的 Kiwi 测试框架,可以让你得到最佳的测试驱动开发方法支持: 此外,AppCode 2.0 集成了两个流行的文档浏览...

oschina ⋅ 2013/03/21 ⋅ 14

关于lua中table判空的问题(判断是否是空的table 即{})

最近在项目里面大量使用的lua,其中lua的table是lua中重要的数据结构,可以被用来当做C++中的数组,vector,map来使用。 如何判断lua中的table是否是空的table呢? 一开始我没动脑子,是这样...

Sail_鸢 ⋅ 2013/12/26 ⋅ 3

没有更多内容

加载失败,请刷新页面

加载更多

下一页

从 Confluence 5.3 及其早期版本中恢复空间

如果你需要从 Confluence 5.3 及其早期版本中的导出文件恢复到晚于 Confluence 5.3 的 Confluence 中的话。你可以使用临时的 Confluence 空间安装,然后将这个 Confluence 安装实例升级到你现...

honeymose ⋅ 今天 ⋅ 0

用ZBLOG2.3博客写读书笔记网站能创造今日头条的辉煌吗?

最近两年,著名的自媒体网站今日头条可以说是火得一塌糊涂,虽然从目前来看也遇到了一点瓶颈,毕竟发展到了一定的规模,继续增长就更加难了,但如今的今日头条规模和流量已经非常大了。 我们...

原创小博客 ⋅ 今天 ⋅ 0

MyBatis四大核心概念

本文讲解 MyBatis 四大核心概念(SqlSessionFactoryBuilder、SqlSessionFactory、SqlSession、Mapper)。 MyBatis 作为互联网数据库映射工具界的“上古神器”,训有四大“神兽”,谓之:Sql...

waylau ⋅ 今天 ⋅ 0

以太坊java开发包web3j简介

web3j(org.web3j)是Java版本的以太坊JSON RPC接口协议封装实现,如果需要将你的Java应用或安卓应用接入以太坊,或者希望用java开发一个钱包应用,那么用web3j就对了。 web3j的功能相当完整...

汇智网教程 ⋅ 今天 ⋅ 0

2个线程交替打印100以内的数字

重点提示: 线程的本质上只是一个壳子,真正的逻辑其实在“竞态条件”中。 举个例子,比如本题中的打印,那么在竞态条件中,我只需要一个方法即可; 假如我的需求是2个线程,一个+1,一个-1,...

Germmy ⋅ 今天 ⋅ 0

Springboot2 之 Spring Data Redis 实现消息队列——发布/订阅模式

一般来说,消息队列有两种场景,一种是发布者订阅者模式,一种是生产者消费者模式,这里利用redis消息“发布/订阅”来简单实现订阅者模式。 实现之前先过过 redis 发布订阅的一些基础概念和操...

Simonton ⋅ 今天 ⋅ 0

error:Could not find gradle

一.更新Android Studio后打开Project,报如下错误: Error: Could not find com.android.tools.build:gradle:2.2.1. Searched in the following locations: file:/D:/software/android/andro......

Yao--靠自己 ⋅ 昨天 ⋅ 0

Spring boot 项目打包及引入本地jar包

Spring Boot 项目打包以及引入本地Jar包 [TOC] 上篇文章提到 Maven 项目添加本地jar包的三种方式 ,本篇文章记录下在实际项目中的应用。 spring boot 打包方式 我们知道,传统应用可以将程序...

Os_yxguang ⋅ 昨天 ⋅ 0

常见数据结构(二)-树(二叉树,红黑树,B树)

本文介绍数据结构中几种常见的树:二分查找树,2-3树,红黑树,B树 写在前面 本文所有图片均截图自coursera上普林斯顿的课程《Algorithms, Part I》中的Slides 相关命题的证明可参考《算法(第...

浮躁的码农 ⋅ 昨天 ⋅ 0

android -------- 混淆打包报错 (warning - InnerClass ...)

最近做Android混淆打包遇到一些问题,Android Sdutio 3.1 版本打包的 错误如下: Android studio warning - InnerClass annotations are missing corresponding EnclosingMember annotation......

切切歆语 ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部