目录

  • 回顾
  • 浏览器的基本操作

回顾

在上一节上,我介绍了关于selenium的一些基本的情况,以及在ruby环境下关于selenium的安装,如果你还不清楚环境进行如何安装,你可以查看这里进行selenium环境的安装

浏览器的基本操作

selenium支持譬如ie,chrome,firefox等浏览器,由于我现在使用的是mac,所以下面只会介绍如何启动firefox和chrome,在ie上的启动方法会顺带的提一下,但是需要你自己去实践。

 

1.启动firefox

在selenium中,firefox是对selenium webdirver支持比较好的一款浏览器,它不需要用户提供额外的工具去支持浏览器的启动。开启firefox并且进行跳转到指定页面的代码如下:     

require 'selenium-webdriver' #导入selenium gem

driver = Selenium::WebDriver.for(:firefox) #打开firefox浏览器

运行代码,你会发现firefox浏览器自动打开了。

在windows下,我曾经遇到过这样一个问题,firefox不是我的默认浏览器,在启动firefox的时候回一直会打开导入向导的提示,解决的方法是搜索c盘下的profiles.ini文件,把里面的IsRelative=1改为IsRelative=0即可。

selenium的firefox启动提供了一系列的自定义启动的参数设定,比如代理,下载路径等等。比如配置了代理的代码如下:

require 'selenium-webdriver'

profile = Selenium::WebDriver::Firefox::Profile.new  #新的firefox配置
profile['network.proxy.http'] = 'localhost'   #配置一个代理为localhost
profile['network.proxy.http_port'] = 8080   #代理的端口为8080

driver = Selenium::WebDriver.for :firefox, :profile => profile  #使用配置来启动firefox

 

2.启动chrome

在selenium中,chrome的启动需要特定的工具去进行支持。还好,google提供了这样的一个工具去方便我们的操作,你可以在 https://sites.google.com/a/chromium.org/chromedriver/downloads 去下载适合你系统的chromedriver,可能你需要FQ才能进行下载。在下载完成后,windows用户需要将下载的chromedriver.exe放到你安装的ruby目录的bin目录下面去。mac用户需要将下载的chromedriver放到/usr/local/bin目录下。

看看代码:

require 'selenium-webdriver' driver = Selenium::WebDriver.for :chrome

发现和上面打开firefox的方法基本是相似的,只是将firefox参数改为了chrome。运行代码后可以发现我们的chrome浏览器也启动了。

 

3.启动ie

ie的启动和chrome类似,需要一个工具进行支持,叫做iedriver(貌似是这个),需要你们从网上去查找下载的方法。

启动ie的代码为:

require 'selenium-webdriver'

driver = Selenium::WebDriver.for :ie

 

4.关闭浏览器

通过上面的代码我们能正常的启动一些主流的浏览器了,但是运行之后你会发现浏览器并没有关闭,此时我们需要了解如何去关闭浏览器。

代码如下:

require 'selenium-webdriver'

driver = Selenium::WebDriver.for :chrome
driver.close

运行代码后可以发现chrome浏览器打开之后然后又关闭了。

 

5.网页的跳转

知道了如何打开浏览器和关闭浏览器后,看看网页的跳转是如何的:

require 'selenium-webdriver'

driver = Selenium::WebDriver.for :chrome
driver.get("http://www.baidu.com")
driver.close

通过上面的代码可以看出get方法提供了网页的跳转。这里打开浏览器后,跳转到了百度,然后关闭了浏览器

 

6.浏览器的最大化

在上面的代码执行中,不知道大家有没有注意到,浏览器打开的时候总是只是一个小窗口,有时候我们有需要最大化窗口的需要,看看如何最大化窗口:

require 'selenium-webdriver'

driver = Selenium::WebDriver.for :chrome
driver.manage.window.maximize
driver.get("http://www.baidu.com")
driver.close

通过上面的代码发现打开了浏览器后会最大化浏览器,然后才进行跳转,driver.manage.window.maximize提供了这种效果。

 

关于浏览器的基本操作就讲到这里,其他的操作还需要大家自己去进行探索,但是上面的基本上是够用的了。下一节我会介绍selenium元素查找的方法。