记录selenium的使用
开始配置总流程(以谷歌浏览器为例)
1.下载谷歌浏览器的驱动(chromedriver.exe)。目的:进行代码和浏览器的交互。下载的时候注意驱动下载要和浏览器版本一致或略高于浏览器版本。一般是放到C:\Users\Administrator\AppData\Local\Google\Chrome\Application下。
2.下载Selenium的jar包。到官网https://www.selenium.dev/。然后点击download下载,找到自己需要的Jar包下载。
自己的理解
selenium自动化工具,通过各种前端定位标签的方式来进行位置的确定,然后进行鼠标,键盘的各种操作例如:点击,拖拽等等。
开始编码阶段(以java为例)目的:了解大概
// An highlighted block
//加载驱动
System.setProperty("webdriver.chrome.driver", "C:\\Users\\Administrator\\AppData\\Local\\Google\\Chrome\\Application\\chromedriver.exe");
//谷歌浏览器驱动
WebDriver driver = new ChromeDriver();
//浏览器最大化
driver.manage().window().maximize();
//超时等待5秒(有大用)
driver.manage().timeouts().implicitlyWait(5,TimeUnit.SECONDS);
String url = "www.xxx.com";
String account = "123123";
String pwd = "123123";
//打开一个网站
driver.get(url);
//通过组件的名字找到这个组件进行点击和设值.
driver.findElement(By.name("account")).click();
driver.findElement(By.name("account")).sendKeys(account);
driver.findElement(By.name("pwd")).click();
driver.findElement(By.name("pwd")).sendKeys(pwd);
使用selenium IDE工具
这个IDE工具就是一个插件,去把这个IDE工具丢到谷歌浏览器(相当于扩展程序)。这个工具可以模拟你进行网页点击操作,你可以导出你进行操作的代码,这样就可以方便你进行代码的编写,以及组件的定位。IDE工具如下图
遇到的坑
1.有些时候定位器不能定位到元素,即便IDE导出的代码就是这么定位的,这个时候可以在IDE中看一下其他的定位方式(一个组件会有多种定位方式)
2.在selenium中WebDriver是没有判断元素存不存在这种方法。所以只有报错然后去捕捉异常进行判断是否存在。这个时候上面代码中的超时机制就有用了,可以控制时间。
driver.manage().timeouts().implicitlyWait(5,TimeUnit.SECONDS);
3.有的时候自动化执行太快,导致有些元素未加载出来就开始进行点击操作,会导致程序异常,这个时候就加个Thread.sleep(1000)就行了,然点击慢一点。