这是Selenium里面最总要的东西。Selenium Webdriver(也就是Selenium2Selenium3)和Selenium RC(Selenium 1)一样提供了web自动化的各种语言调用接口库。相比Selenium RCSelenium WebDriver的编程接口更加直观易懂,也更加简练。但是和Selenium RC不同的是,Selenium Webdriver是通过各种浏览器的驱动(web driver)来驱动浏览器的,而不是通过注入JavaScript的方式,下面是其原理的示意图:
u=3588203757,2248218336&fm=26&gp=0.jpg

我们的代码运行起来是一个进程,里面调用Selenium WebDriver的库 和 各个浏览器的驱动进程 进行交互,传递Selenium命令 给它们,并且获取命令执行的结果,返回给我们的代码进行处理。

Selenium WebDriver目前包括两个版本Selenium 2Selenium 3。这两个版本从开发代码调用接口上来看,几乎没什么区别。区别在于库的实现和web driver的实现。Selenium2Selenium组织帮各种浏览器写web driver的,而Selenium 3里面的web driver是由各个浏览器厂商(Apple,Google,Microsoft,Mozilla)自己提供的。所以Selenium 3的自动化效率更高,成功率也更高。

Selenium WebDriver 支持浏览器众多:

  • Google Chrome
  • Microsoft Internet Explorer 7,8,9,10,11在 Windows Vista,Windows 7,Windows 8,Windows 8.1.
  • Microsoft Edge
  • Firefox
  • Safari
  • Opera

3.1安装

Selenium WebDriver提供了各种语言的编程接口,来进行Web自动化开发。我们以Python来讲解它的使用。首先我们要确保Python解释器已经安装好了。由于我们习惯在Windows操作系统上进行操作,建议大家安装Python官方的Python 3.6

  • 安装编程接口库
    python安装好后,我们用pip来安装Selenium Web Driverpython库,执行下面的命令即可。(执行该命令之前,要确保pythonscript目录在系统环境变量path里面已经包括了)。命令为:pip install selenium

安装完成后,运行python解释器,执行命令import selenium,如果没有异常,则表示安装成功了,如下所示
微信截图_20200402114902.png

  • 安装各浏览器的驱动
    当然我们是通过各浏览器的驱动程序 来操作浏览器的,所以,还要有各浏览器的驱动程序。我们主要以谷歌的chrome浏览器为例来演示。

chrom浏览器的web driver(chromedriver.exe),可以在下面网址访问:
http://npm.taobao.org/mirrors/chromedriver/

firefox(火狐浏览器)的web driver (geckodriver.exe)在这里访问:
https://github.com/mozilla/geckodriver/releases

其他浏览器驱动可以见下面列表:
Edge:https://developer.microsoft.com/en-us/micrsosft-edage/tools/webdriver
Safari:https://webkit.org/blog/6900/webdriver-support-in-safari-10/

3.2从一个例子开始

#从selenium里面导入webdriver
from selenium import webdriver

#指定chrom的驱动
#执行到这里的时候Selenium会到指定的路径将chrome driver程序运行起来,我这里的chrome driver已经添加到环境变量中,如果没添加到环境变量的需要指定其绝对路径
#driver = webdriver.Chrome('E:\ChromDriver\chromedriver.exe')
driver = webdriver.Chrome()
#driver = webdriver.Firefox()#这里是火狐的浏览器运行方法

#get 方法 打开指定网址
driver.get('http://www.baidu.com')

#选择网页元素
element_keyword = driver.find_element_by_id('kw')

#输入字符
element_keyword.send_keys('python')

#点击搜索按钮
element_search_button = driver.find_element_by_id('su').click()

下面是对搜索结果的验证:

最后修改:2020 年 09 月 26 日 09 : 12 AM
如果觉得我的文章对你有用,请随意赞赏