我只能说因为版本冲突,简直太折腾了,而搜了无数个博友的帖子才找到正确条案,就不能好好的写篇文章吗?

最近真的是太闲太闲了,平时没事总得搞点技术,不然心里感觉好空虚,

最近看上了selenium,所以试一下

没啥目标

头一篇这个环境搞的崩溃了,都是版本冲突,目前为止,我还未有解决firefox与selenium的版本冲突问题

这是一篇只讲chrome的文章

1、selenium下载最新版本,我在官网下载的

http://selenium-release.storage.googleapis.com/3.5/selenium-java-3.5.2.zip如果人品好,一般是下载得成功的

下载后解压

client-combined-3.5.2-nodeps-sources 是源代码,如果到时候在eclipse中查看源码的话,可以到时候再加进去咯

2、chrome浏览器与chromedriver的区别

浏览器不用说了,就是我们平常使用的,我这里没有特意讲版本,就是我以前安装过的

我是以v55来找chromedriver版本的

那么,chromedriver是什么呢?

ChromeDriver是Chromium team开发维护的,它是实现WebDriver有线协议的一个单独的服务。ChromeDriver通过chrome的自动代理框架控制浏览器
就是说它是chrome的一个插件,是为了webDriver调用时控制可以控制浏览器自动操作的一个东东了
那么要想让selenium成功的操作chrome浏览器,那么必须下载chromeDriver驱动包
这里问题就来了:
chrome浏览器版本与chromeDriver驱动包版本是要注意的,以下摘抄自网络,出处:http://blog.csdn.net/huilan_same/article/details/51896672

下载地址:http://chromedriver.storage.googleapis.com/index.html

我下载的是v2.28,下载地点是在CSDN,度娘一搜就有

3、最后一步代码,只是简单的调用test

package seleniumLearn1;

import java.util.concurrent.TimeUnit;

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver; public class Test {
public static void main(String[] args) {
System.setProperty("webdriver.chrome.driver","E:\\webDriver\\chromedriverV2.28.exe");//chromedriver服务地址
WebDriver driver =new ChromeDriver(); //新建一个WebDriver 的对象,但是new 的是FirefoxDriver的驱动
driver.get("http://www.baidu.com");//打开指定的网站
driver.findElement(By.id("kw")).sendKeys(new String[] {"hello"});//找到kw元素的id,然后输入hello
driver.findElement(By.id("su")).click(); //点击按扭
try {
/**
* WebDriver自带了一个智能等待的方法。
dr.manage().timeouts().implicitlyWait(arg0, arg1);
Arg0:等待的时间长度,int 类型 ;
Arg1:等待时间的单位 TimeUnit.SECONDS 一般用秒作为单位。
*/
driver.manage().timeouts().implicitlyWait(3, TimeUnit.SECONDS);
} catch (Exception e) {
e.printStackTrace();
}
/**
* dr.quit()和dr.close()都可以退出浏览器,简单的说一下两者的区别:第一个close,
* 如果打开了多个页面是关不干净的,它只关闭当前的一个页面。第二个quit,
* 是退出了所有Webdriver所有的窗口,退的非常干净,所以推荐使用quit最为一个case退出的方法。
*/
driver.quit();//退出浏览器
}
}

  

 运行:

selenium+java+chrome环境搭建的更多相关文章

  1. 行为驱动:Cucumber + Selenium + Java(一) - 环境搭建

    1.1 什么是行为驱动测试 说起行为驱动,相信很多人听说过. 行为驱动开发-BDD(Behavior Driven Development)是一个诞生于2003年的软件开发理念.其关键思想在于通过与利 ...

  2. Java自动化环境搭建笔记(2)

    Java自动化环境搭建笔记(2) 自动化测试 在笔记一中已经完成了一键构建项目.xml指定规划测试集.数据解耦与allure报告生成的开发.接下来便是: 浏览器驱动通过配置启动 页面元素定位解耦,通过 ...

  3. centos7下Maven Java selenium3环境搭建

    centos7下Maven Java selenium3环境搭建 一.Jdk安装 我这里用的是open-jdk. [adawang@localhost src]$ sudo yum search op ...

  4. 菜鸟学自动化测试(八)----selenium 2.0环境搭建(基于maven)

    菜鸟学自动化测试(八)----selenium 2.0环境搭建(基于maven) 2012-02-04 13:11 by 虫师, 11419 阅读, 5 评论, 收藏, 编辑 之前我就讲过一种方试来搭 ...

  5. selenium + python 自动化测试环境搭建

    selenium + python 自动化测试 —— 环境搭建 关于 selenium Selenium 是一个用于Web应用程序测试的工具.Selenium测试直接运行在浏览器中,就像真正的用户在操 ...

  6. Selenium终极自动化测试环境搭建(一) Selenium+Eclipse+Junit+TestNG

    Selenium终极自动化测试环境搭建(一)Selenium+Eclipse+Junit+TestNG 第一步 安装JDK JDk1.7. 下载地址:http://www.oracle.com/tec ...

  7. Selenium2(java)环境搭建 一

    Selenium2(java)环境搭建 1.下载JDK http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2 ...

  8. selenium+python爬虫环境搭建

    前言: 准备使用selenium爬取网站数据,先搭建selenium+python爬虫环境搭建 系统环境: 64位win10系统,同时装python2.7和python3.6两个版本,IDE为pych ...

  9. Selenium自动化测试值环境搭建

    Selenium自动化测试之环境搭建 一.背景介绍 自动化测试近几年在测试领域很火,出去面试要是说不会自动化测试薪资都不好意思往高了要!很多公司做敏捷测试用到自动化,其他一些公司也是跟风,即使用不上自 ...

随机推荐

  1. jni&&jvmti&&JMC

    jni&&jvmti http://docs.oracle.com/javase/8/docs/technotes/guides/jni/spec/functions.html htt ...

  2. Redhat系统部署安装Splunk

    一.下载安装包 可以从国内网站进入:http://10data.com/splunk/ 下载前需要注册一个splunk账号,注册后便可以提供下载,安装包名称:splunklight-6.5.1-f74 ...

  3. git命令(10):git 常用操作,撤销修改(2)

    一. 创建与合并分支 1. 从master分支创建dev分支并切换到dev分支: git checkout master git checkout -b dev 其中,git checkout -b ...

  4. bash shell(4):读取文件大小,移动文件,复制文件,字符串转数字

    下面是代码:注意: 1.if [ expression ],表达式两边需要空格 2.a=$[aa],字符串转为int类型 3.赋值的时候不能有空格 #!/bin/shell fn="file ...

  5. java多线程20 : ReentrantLock中的方法 ,公平锁和非公平锁

    公平锁与非公平锁 ReentrantLock有一个很大的特点,就是可以指定锁是公平锁还是非公平锁,公平锁表示线程获取锁的顺序是按照线程排队的顺序来分配的,而非公平锁就是一种获取锁的抢占机制,是随机获得 ...

  6. Sortable拖拽排序插件数据筛选

    后台有拖拽排序功能,然而前段在开发的时候,一整页的数据都发给后端了. 于是查看前端代码,想到了如下解决办法,即先把排序前的保存,然后对比排序后的,有差异的才发回给后端. var new_ids_ord ...

  7. [转] javaweb学习-jstl-<c:forEach>中 varStatus的属性简介

    原文地址:http://blog.csdn.net/u010648555/article/details/51093277 varStatus是<c:forEach>jstl循环标签的一个 ...

  8. php多路复用(多线程)socket相关应用

    最近研究php多线程的问题,发现中文资源少的可怜,仅有的几篇文章被转了又转,但文中内容价值有限.搜索过程中发现国外很多网站引用的一篇文章写的不错,所以翻译过来. 版权声明:可以任意转载,转载时请务必以 ...

  9. 线程的几种状态转换<转>

    线程在一定条件下,状态会发生变化.线程一共有以下几种状态: 1.新建状态(New):新创建了一个线程对象. 2.就绪状态(Runnable):线程对象创建后,其他线程调用了该对象的start()方法. ...

  10. 学习MongoDB(一) 如何在Linxu安装与启动

    1.官方下载地址 https://www.mongodb.org/downloads#production,选择对应的Linxu版本. 2.mkdir -p /usr/mongodb 创建一个目录用来 ...