环境搭建
selenium 2.53
selenium-java-2.53.0.jar
selenium-java-2.53.0-srcs.jar 原代码包
拷贝的工程lib下,做build path,告诉项目jar包在lib里
关联原始代码:
jar包里都是.class文件,想看原始代码,关联源代码包,在selenium项目包右键属性,选java source attachment,选择selenium-java-2.53.0-srcs.jar。
package com.thoughtworks.selenium 源代码
package org.openqa.selenium 开源的代码
一个driver是一个浏览器实例,
selenium2.4.5-javadoc/index.html: api文档
构造方法重载:不同的方式构造实例
FirefoxDriver()
FirefoxDriver(Capabilities desiredCapabilities)
FirefoxDriver(Capabilities desiredCapabilities, Capabilities requiredCapabilities)
FirefoxDriver(FirefoxBinary binary, FirefoxProfile profile)
FirefoxDriver(FirefoxBinary binary, FirefoxProfile profile, Capabilities capabilities)
FirefoxDriver(FirefoxBinary binary, FirefoxProfile profile, Capabilities desiredCapabilities, Capabilities requiredCapabilities)
FirefoxDriver(FirefoxProfile profile)
package test.selenium;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;public classSeleniumTest {public static voidmain(String[] args) {//TODO Auto-generated method stub
WebDriver driver = newFirefoxDriver();
driver.get("http://nvsm.cnki.net/KNS/");
driver.close();
}
}
如果出现打不开浏览器,地址栏不能输入,操作不了页面dom,都是selenium版本和浏览器版本不匹配。selenium更新版本比浏览器慢,不能保证支持最新的浏览器版本。selenium2.53可以支持Firefox40以下版本。
Webdriver基础API - 浏览器实例管理
public class FirefoxDriver extends RemoteWebDriver
public class RemoteWebDriver extends java.lang.Object implements WebDriver
如果需要用的Firefox特殊的方法,需强制类型转换
appium和selenium用的是一套webdriver协议(多态)
执行程序每次打开的都是一个全新的没有设置的Firefox浏览器,设置不会在下次生效。selenium只会在默认路径(C:\Program Files (x86)\Mozilla Firefox\firefox.exe)找Firefox,如果安装位置不在默认路径则会报找不到Firefox可执行文件的错误。
举例:让selenium找的Firefox安装位置
System.setProperty("webdriver.firefox.bin","C:\\Program Files (x86)\\Mozilla Firefox\\firefox.exe");
WebDriver driver= newFirefoxDriver();
driver.get("http://nvsm.cnki.net/KNS/");
举例:构造浏览器实例
FirefoxBinary(java.io.File pathToFirefoxBinary)
FirefoxBinary ffb = new FirefoxBinary(new