zoukankan      html  css  js  c++  java
  • selenium+java+chrome环境搭建

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

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

    最近看上了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();//退出浏览器
    	}
    }
    

      

     运行:

  • 相关阅读:
    新手学逆向,调试abexcm1过程
    (原创)渗透某国工业系统
    (原创)对某国的一次渗透
    汇编笔记 RETF
    汇编笔记 CALL(1)
    汇编笔记 RET
    大小写转换
    JDK下载太慢?让国内镜像帮助你
    Win7,docker安装后,创建虚拟机分配不了ip错误 err: exit status 255
    Spring事务传播实践与Spring“事务失效”
  • 原文地址:https://www.cnblogs.com/sincoolvip/p/7451652.html
Copyright © 2011-2022 走看看