#环境配置基于windows操作系统

#学习selenium要有一些HTML和xpth的基础,完全不会的建议先花点时间学点基础(不然元素定位,特别是xpth可能看的有点懵)

#HTML :  http://www.runoob.com/html/     #xpth:  http://www.runoob.com/xpath

(一)  环境配置

(1)执行下面的命令(前提:已经安装python环境,可以参考之前发的python笔记(一))

pip install -U selenium

(2)http://docs.seleniumhq.org/download/   (网站打不开的话就FQ)

去下载Mozilla GeckoDriver(因为我暂时用火狐测试,所以下载这个),解压后放到任意目录下,然后在系统变量path中加上解压后的路径(我在2台电脑上试了下,一个放在任意目录,一个放到python的安装目录,反正都能用。)

(3)之后如果创建浏览器驱动实例还是报错的话(可能是浏览器版本的问题,我python3.6+selenium3.9+火狐47+Mozilla GeckoDriverV0.19.1就报错,火狐换成58就不会了)

(二)  简单的例子

#导入webdriver
from selenium import webdriver
#FirefoxBinary--导入2进制文件所在的位置
from selenium.webdriver.firefox.firefox_binary import FirefoxBinary
#指定火狐浏览器的二进制路径
firefox = FirefoxBinary(r"C:\Program Files (x86)\Mozilla
Firefox\firefox.exe"
)
driver = webdriver.Firefox(firefox_binary=firefox) #创建火狐浏览器的驱动实例

driver.implicitly_wait(2)
#设置等待时间(定义执行步骤的超时时间)
driver.maximize_window()  #最大化浏览器


driver.get("https://www.cnblogs.com/") #打开博客园首页
search_field =
driver.find_element_by_id('zzk_q') #通过id定位博客园首页的搜索框
search_btn
=driver.find_element_by_class_name('search_btn') #通过class定位博客园首页的查询按钮

search_field.clear() #清空搜索框的值(如果有)
search_field.send_keys("python") #在搜索框中输入查询条件
search_btn.click() #点击查询按钮
# search_field.submit()
#选取<h3><a>开始 ,</a>结束之间的值,返回一个列表
products =
driver.find_elements_by_xpath('//h3[a/@target="_blank"]/a')
#迭代列表products,输出text的值
for p in products:
    print(p.text)
#选取<a target="_blank">节点的值,返回一个列表
pro =
driver.find_elements_by_xpath('//h3/a[@target="_blank"]')
#迭代输出href属性的值
for p in pro:
    print(p.get_attribute('href'))
#关闭浏览器
driver.quit()

(三)  输出如下

第二步骤中的xpth其实主要定位的就是下面这些

Python+Selenium笔记(一):环境配置+简单的例子的更多相关文章

  1. Python+Selenium安装及环境配置

    一.Python安装 Window系统下,python的安装很简单.访问python.org/download,下载最新版本,安装过程与其他windows软件类似.记得下载后设置path环境变量,然后 ...

  2. python + selenium WebDriver的环境配置

    想试用python语言来学习selenium WebDriver,首先需要搭建一个测试环境,从python安装到浏览器插件配置的详细步骤,总结如下: 一.python环境配置 1.从官网下载最新的一个 ...

  3. python +selenium +chrome/firefox 环境配置

    http://ftp.mozilla.org/pub/firefox/releases/ 各firefox版本下载地址 http://ftp.mozilla.org/pub/firefox/relea ...

  4. Python Virtualenv运行Django环境配置

    系统: RHEL6.5 版本说明: Python-3.5.0 Django-1.10.4 virtualenv:为每个项目建立不同的/独立的Python环境,你将为每个项目安装所有需要的软件包到它们各 ...

  5. selenium 安装与环境配置

    selenium的安装 环境配置:python2.7+selenium2+Firefox46以下版本 本次安装环境:python2.7.13+selenium2.53.6+Firefox46 官网下载 ...

  6. python+selenium之自定义封装一个简单的Log类

    python+selenium之自定义封装一个简单的Log类 一. 问题分析: 我们需要封装一个简单的日志类,主要有以下内容: 1. 生成的日志文件格式是 年月日时分秒.log 2. 生成的xxx.l ...

  7. Qt5学习笔记(1)-环境配置(win+64bit+VS2013)

    Qt5学习笔记(1)-环境配置 工欲善其事必先-不装-所以装软件 久不露面,赶紧打下酱油. 下载 地址:http://download.qt.io/ 这个小网页就可以下载到跟Qt有关的几乎所有大部分东 ...

  8. Python+Selenium笔记(十一):配置selenium Grid

    (一) 前言 Selenium Grid可以将测试分布在若干个物理或虚拟机器上,从而实现分布方式或并行方式执行测试. 这个链接是官方的相关说明. https://github.com/Selenium ...

  9. scrapy爬虫笔记(一)------环境配置

    前言: 本系列文章是对爬虫的简单介绍,以及教你如何用简单的方法爬取网站上的内容. 需要阅读者对html语言及python语言有基本的了解. (本系列文章也是我在学习爬虫过程中的学习笔记,随着学习的深入 ...

随机推荐

  1. C++程序员面试题目总结(涉及C++基础、多线程多进程、网络编程、数据结构与算法)

     说明:C++程序员面试题目总结(涉及C++基础知识.多线程多进程.TCP/IP网络编程.Linux操作.数据结构与算法) 内容来自作者看过的帖子或者看过的文章,个人整理自互联网,如有侵权,请联系作者 ...

  2. Chrome 开发工具之Timeline/Performance

    之前有说到Element,Console,Sources大多运用于debug,Network可用于debug和查看性能,今天的主角Timeline(现已更名Performance)更多的是用在性能优化 ...

  3. socket心跳超时检测,快速处理新思路(适用于超大量TCP连接情况下)

    假设一种情景:TCP服务器有1万个客户端连接,如果客户端5秒钟不发数据,则要断开.服务端如何检测客户端是否超时?这看起来是一个非常简单的问题,其实不然! 最简单的处理方法是:启动一个线程,每隔一段时间 ...

  4. linux sticky

    文件的粘滞位(sticky)位是作什么用的? 普通文件的sticky位会被linux内核忽略, 目录的sticky位表示这个目录里的文件只能被owner和root删除 粘着位(Sticky bit) ...

  5. java运行时异常与一般异常有何异同?

    转自: http://blog.csdn.net/rainminism/article/details/51208572 Throwable是所有Java程序中错误处理的父类,有两种资类:Error和 ...

  6. (转)JAVA常见面试题之Forward和Redirect的区别

    阅读目录 一:间接请求转发(Redirect) 二:直接请求转发(Forward) 用户向服务器发送了一次HTTP请求,该请求可能会经过多个信息资源处理以后才返回给用户,各个信息资源使用请求转发机制相 ...

  7. [转]SQL Server 中WITH (NOLOCK)浅析

    本文转自:https://www.cnblogs.com/kerrycode/p/3946268.html 概念介绍 开发人员喜欢在SQL脚本中使用WITH(NOLOCK), WITH(NOLOCK) ...

  8. RowFilter遇上特殊字符*%'[]\

    开发时,时不时需要分析DataView的数据.计算,过滤等 .但是处理的值有可能会遇上是带有特殊字符*.%.'.[.]和\ .需要手动在表达式中,处理这些特殊字符,需要再使用"[" ...

  9. Oracle中如何写存储过程

    >存储过程是什么? 存储过程是一种命名的PL/SQL程序块,输入.输出参数数量[0个或多个],通常没有返回值[也有特殊的情况]. 运行SQL语句时,Oracle是要先编译再执行的:而存储过程是已 ...

  10. mahout 使用

    最近在做mahout源码调用的时候,发现一个参数:startPhase和endPhase,这两个参数是什么意思呢?比如运行RecommenderJob时,可以看到10个MR任务,所以猜测是否是一个ph ...