Selenium怎样驱动Firefox浏览器:
首先打开Selenium的官网,
在地址栏输入http://www.seleniumhq.org/
这就是需要下载的东西:
下载到本地并解压,
把geckodriver-v0.18.0-win64里面的geckodriver.exe驱动添加到工程里面,
把selenium-java-3.4.0文件夹里面所有的.jar包添加到工程里面,
selenium-server-standalone-3.4.0.jar在做分布式测试时需要启动,
暂时不用管。
如果你是用Maven来构建的话,
就不用去Selenium官网下载.jar包,
只需要以下几行:
<dependency> <groupId>org.seleniumhq.selenium</groupId> <artifactId>selenium-firefox-driver</artifactId> <version>3.4.0</version> </dependency> |
版本号可以随便修改,
官网上最新的是3.5.3;
如果你用Gradle来构建的话,
只需要一行:
compile 'org.seleniumhq.selenium:selenium-firefox-driver:3.5.3' |
好了,引入第三方依赖的准备工作都完成了,让我们开始写代码:
import org.openqa.selenium.WebDriver; import org.openqa.selenium.firefox.FirefoxDriver; import java.util.concurrent.TimeUnit; public class FirefoxBrowser { public static void main(String[] args) { WebDriver driver; //声明WebDriver System.setProperty("webdriver.firefox.marionette", "C:\\Program Files\\Mozilla Firefox\\firefox.exe"); //指定Firefox浏览器的路径 String Url = "https://www.baidu.com"; //百度的地址 driver =new FirefoxDriver(); //new一个FirefoxDriver() driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS); //设置隐式等待10秒钟 driver.get(Url); //打开百度首页 driver.manage().window().maximize(); //把浏览器窗口最大化 try { Thread.sleep(3000); //让线程等待3秒钟 } catch (InterruptedException e) { e.printStackTrace(); } driver.quit(); //退出driver } } |
好了,让我们来跑一把:
成功的启动了Firefox浏览器,
并且打开了百度首页;
这里需要注意的是Firefox的版本不能是官网上最新的,
因为Firefox迭代的太频繁了,
我用的是46.09;
浏览器的版本一定要和驱动对应,
否则会出现启动了浏览器却无法打开网站的异常情况!
这里有一个历史版本的地址:
http://ftp.mozilla.org/pub/firefox/releases/
然后需要注意的是,
本次使用的是默认的浏览器驱动firefox.exe:
System.setProperty("webdriver.firefox.marionette", "C:\\Program Files\\Mozilla Firefox\\firefox.exe");
也可以使用在官网上下载的驱动geckodriver.exe,
采用相对路径:
System.setProperty("webdriver.firefox.marionette", "src/main/resources/geckodriver.exe"); |
上文内容不用于商业目的,如涉及知识产权问题,请权利人联系博为峰小编(021-64471599-8017),我们将立即处理。