安装selenium

上面python已安装完毕,接下来安装selenium。

安装selenium之前需安装些必要工具

1. 安装setuptools

下载地址:https://pypi.python.org/pypi/setuptools

在页面找到zip安装包,下载后解压。在命令行(运行->cmd)进入解压目录

执行 python setup.py install 即可安装,注意解压路径不要包含中文,否则安装会报错。

2.安装pip

下载地址:https://pypi.python.org/pypi/pip

在页面找到pip-9.x.tar.gz,下载后解压。同样在命令行进入解压目录,执行 python setup.py install 即可自动安装。

3.安装selenium

上面2个工具安装好后,安装selenium只需在命令行进入python安装路径Script目录下,执行 pip install -U selenium 即可自动安装。

完成安装后在IDLE输入 from selenium import webdriver ,如果没报错即代表安装成功。

三 注意事项

1. selenium3.0需要独立安装Firefox驱动,不再自带驱动,下载地址: https://github.com/mozilla/geckodriver/releases 下载对应版本,解压放在python安装路径下即可;

2. geckodriver驱动要求Friefox浏览器必须48版本以上,如果不是,更新Firefox;

3. 如果用Java开发,需注意3.0必须用JDK1.8版本才行;

4. Chromedriver下载:https://sites.google.com/a/chromium.org/chromedriver/downloads 同样也是下载后放在python安装路径下即可。

四 第一个自动化脚本

完成上面所有准备工作,就可以开始第一个自动化脚本的编写啦~

打开IDLE,通过快捷键ctrl+n打开一个新窗口,在新窗口输入以下代码:

  1.  
    # coding = utf-8
  2.  
    from selenium import webdriver
  3.  
     
  4.  
    browser = webdriver.Firefox()
  5.  
     
  6.  
    browser.get("http://www.baidu.com")
  7.  
     
  8.  
    browser.find_element_by_id("kw").send_keys("selenium")
  9.  
    browser.find_element_by_id("su").click()
  10.  
     
  11.  
    browser.quit()

保存为test1.py,通过快捷键F5运行脚本,可看到脚本启动Firefox 浏览器进入百度页,输入“selenium” 点击搜索按钮,最后关闭浏览器的过程。第一个脚本即完成了~

代码解析:

# coding = utf-8

为了防止乱码问题,以及在程序中添加中文注释,把编码统一成 UTF-8;

from selenium import webdriver

导入selenium的webdriver包,导入webdriver包后才能使用 webdriver API 进行自动化脚本开发;

browser = webdriver.Firefox()

将控制的 webdriver 的 Firefox 赋值给 browser;获得了浏览器对象才可以启动浏览器;

browser.get("http://www.baidu.com")

获得浏览器对象后,通过 get()方法,向浏览器发送网址;

browser.find_element_by_id("kw").send_keys("selenium")

通过 id=kw 定位到百度的输入框,并通过键盘方法send_keys()向输入框里输入selenium ;

browser.find_element_by_id("su").click()

通过 id=su 定位到搜索按钮,并向按钮发送单击事件(click() ) ;

browser.quit()

退出并关闭窗口的每一个相关的驱动程序。

最新文章

  1. MySql 修改列的注释信息的方法
  2. Python第一天 - set
  3. 【CSS3】CSS3:border-image的详解和实例
  4. Ubuntu 16.10 在 VMware 上无法安装的解决办法
  5. JavaWeb之Servlet: ServletConfig 与 ServletContext
  6. cocos2dx中的内存管理机制及引用计数
  7. java核心技术记录之集合
  8. Linux_shell 学习
  9. 让盒子两端对齐小技巧 => inline-block
  10. Vue购物车实例
  11. 初入thinkphp
  12. 我为什么放弃MySQL?最终选择了MongoDB
  13. 跟我一起学opencv 第五课之调整图像亮度和对比度
  14. Java读取证书
  15. vue里的v-show和v-if
  16. 机器学习之 XGBoost和LightGBM
  17. 2.5 Visio2007不规则图形填充
  18. HTML:<input type="text">文本框不可编辑的方式
  19. MongoDB服务无法启动,windows提示发生服务特定错误:100
  20. winform窗体 控件【MDI 窗体容器】

热门文章

  1. 开发 WebAPP 的几个前端框架(不断更新中)
  2. 关于HDFS默认block块大小
  3. 日志管理,springboot
  4. QuickSort模板
  5. code2800 送外卖
  6. JMS 之 Active MQ 的消息传输
  7. CentOS 7 更换 阿里云/清华大学 yum 软件源
  8. 【#】Spring3 MVC 注解(二)---@RequestMapping
  9. PLSA算法(转)
  10. [GO]errorr接口的使用