1 python下载安装

  python早已安装,不再多说。因为开发使用的python2.7,所以同样使用2.7

2 打开Powershell, 输入python -m pip install selenium 。

  提示:

Requirement already satisfied (use --upgrade to upgrade): selenium in e:\python27\lib\site-packages
You are using pip version 7.1.2, however version 9.0.1 is available.
You should consider upgrading via the 'python -m pip install --upgrade pip' command.

3 再输入 python -m pip install --upgrade pip 。

4 使用python IDLE, 输入例子代码

from selenium import webdriver
from selenium.common.exceptions import NoSuchElementException
from selenium.webdriver.common.keys import Keys
import timebrowser = webdriver.Firefox()
browser.get('http://www.yahoo.com')
assert 'Yahoo' in browser.title
elem = browser.find_element_by_name('p')
elem.send_keys('seleniumhq'+ Keys.RETURN)
time.sleep(0.2)
try:  browser.find_element_by_xpath("//a[contains(@href,'http://seleniumhq.org')]")
except NoSuchElementException:assert 0, "can't find seleniumhq"
browser.quit()

报错:

Traceback (most recent call last):
File "C:/Users/william/Desktop/selenium/seleniumhq.py", line 6, in <module>
browser = webdriver.Firefox()
File "E:\Python27\lib\site-packages\selenium\webdriver\firefox\webdriver.py", line 140, in __init__
self.service.start()
File "E:\Python27\lib\site-packages\selenium\webdriver\common\service.py", line 81, in start
os.path.basename(self.path), self.start_error_message)
WebDriverException: Message: 'geckodriver' executable needs to be in PATH.

5 打开google, 搜索 WebDriverException: Message: 'geckodriver' executable needs to be in PATH。 或者百度,搜索 : selenium geckodriver。

6 原因是, firefox 47以上版本,需要下载第三方driver,即geckodriver

7 打开 http://docs.seleniumhq.org/download/ 。 下载 Mozilla GeckoDriver ,解压。这里,我将exe文件放到python的Scripts中,免了新加path。

8 执行python,发现仍报错。

Traceback (most recent call last):
File "C:/Users/william/Desktop/selenium/seleniumhq.py", line 6, in <module>
browser = webdriver.Firefox()
File "E:\Python27\lib\site-packages\selenium\webdriver\firefox\webdriver.py", line 150, in __init__
keep_alive=True)
File "E:\Python27\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 92, in __init__
self.start_session(desired_capabilities, browser_profile)
File "E:\Python27\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 179, in start_session
response = self.execute(Command.NEW_SESSION, capabilities)
File "E:\Python27\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 236, in execute
self.error_handler.check_response(response)
File "E:\Python27\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 192, in check_response
raise exception_class(message, screen, stacktrace)
WebDriverException: Message: Expected browser binary location, but unable to find binary in default location, no 'moz:firefoxOptions.binary' capability provided, and no binary flag set on the command line

看意思,应该是firefox的安装路径没有找到的原因。google一下。

9 python代码中添加

from selenium.webdriver.firefox.firefox_binary import FirefoxBinary

binary = FirefoxBinary(r'C:\Program Files (x86)\Mozilla Firefox\firefox.exe')
browser = webdriver.Firefox(firefox_binary=binary)

再执行,没有报错了。执行完后,python shell会显示断言的提示:can't find seleniumhq, 并且浏览器没有退出。这是为什么呢? 结果应该是find seleniumhq啊

难道是 assert 0, "can't find seleniumhq" 后面的0的缘故?

10 百度搜索  assert 0。 后面加0,代表永远为假,即永远会显示 can't find seleniumhq。但这个的发生是在exception之后啊。

11 去掉0试一试。不再显示断言提示

12 如果将xpath中的条件改一改呢? 改成  http://seleniumhqwww.org 。 仍然没有显示断言,并浏览器退出。这里就不对了。因为这个xpath应该是匹配不到的。

13 再查断言assert的用法

assert的用法,常见的文章中提到的都是,assert用来声明某个条件是真的。如果非真,就引发一个错误,抛出这个错误AssertError并包含错误信息。

例如 assert x>0,"x is not zero or negative"

这样的话,从语法上讲,assert 0, "can't find seleniumhq" 没有问题。那么就是真没有find element

14 是不是sleep(0.2)时间太短,element还没有出现造成的呢? 改0.2为5,再分别试,OK。解决。

转载于:https://www.cnblogs.com/guohuino2/p/6222404.html

selenium+python在Windows的环境搭建相关推荐

  1. Windows TensorFlow环境搭建

    Windows TensorFlow环境搭建 简介 本次安装是在Windows10 上进行的,使用tensorflow安装的环境为 Anaconda.Python3.7.TensorFlow2.0 搭 ...

  2. 我的全栈之路-Python基础之Python概述与开发环境搭建

    我的全栈之路-Python基础之Python概述与开发环境搭建 我的全栈之路 1.1 信息技术发展趋势 1.2 浅谈计算机系统架构 1.2.1 计算机系统架构概述 1.2.2 计算机硬件系统 1.2. ...

  3. Django Python MySQL Linux 开发环境搭建

    Django Python MySQL Linux 开发环境搭建 1.安装Python 进行Python开发,首先必须安装python,对于linux 或者Mac 用户,python已经预装. 在命令 ...

  4. VS2008开发Windows Mobile6环境搭建及模拟器联网问题图解

    安装了VS2008后,新建一个智能设备的工程,但调试时只有三个WM5.0的模拟器可用,从网上查到要安装WM6.0的SDK,还要安装一些其它的组件才能开始WM(现在最新的叫法叫WP Windows Ph ...

  5. 【spark】windows spark 环境搭建

    Windows平台环境搭建 JDK 1.8-8u201 Scala 2.11.8 spark 2.2.0 hadoop 2.7.2 sbt 0.13.13.1 上面的几个软件之间相互有版本依赖关系的因 ...

  6. Dart开发(一)Windows平台环境搭建

    Dart开发Windows平台环境搭建 SDK官网下载地址:https://gekorm.com/dart-windows/ 安装完成后,在命令行输入:dart --version,安装成功会出现相应 ...

  7. 【Selenium项目实战】项目环境搭建:安装JDK、mysql、Tomcat、jpress和测试系统

    前言 一直想学习自动化测试,但是都没行动,业余时间学习零零碎碎并记录20210416. [Selenium项目实战] 项目环境搭建:安装JDK.mysql.Tomcat.jpress和测试系统 需求分 ...

  8. 基于Codeblock的LVGL模拟器Windows平台环境搭建[带源码]

    基于Codeblock的LVGL模拟器Windows平台环境搭建 文章目录 基于Codeblock的LVGL模拟器Windows平台环境搭建 概述 一.介绍 二.使用CodeBlock版本方法以及需要 ...

  9. python安卓版开发环境搭建_React Native Android 开发环境搭建(Windows 版)

    补上之前说的 Windows 系统的 React Native 开发环境搭建,坑还是比 Mac 环境下的多些.此文的受众还是已经搭建过 Android 开发环境的同学. 需要安装的软件 Chocola ...

  10. windows安装Python+tensorflow机器学习开发环境搭建

    2019独角兽企业重金招聘Python工程师标准>>> 安装版本: python版本:3.6.4 发布或时间: 2017-12-19 下载地址:https://www.python. ...

最新文章

  1. java原子操作的实现原理--转载
  2. PL/SQL-2 复合数据类型
  3. 【Maven实用技巧】03. Maven 编译打包时如何忽略测试用例
  4. [导入]相片: 53787515.jpg
  5. 第一章 计算机系统概述 1.3 计算机的性能指标 [计算机组成原理笔记]
  6. (计算机组成原理)第二章数据的表示和运算-第三节2:IEEE754标准
  7. 转mjpeg协议到httpflv
  8. pc控制iphone的软件_哪个备忘录便签app可以和PC电脑一块儿用
  9. 【转】学习理论,注重细节
  10. 还在用上古的 ls 命令管理文件吗,是时候使用终端文件管理神器 lf 了!
  11. 10月全球浏览器份额态势:Chrome领先Firefox7.34%
  12. C++primer 7.4节练习
  13. 数论基础——欧拉函数(一)(模板)
  14. TurboMail 邮件系统V5.2.0新品发布会盛况直击
  15. fatal error: libmemcached/memcached.h: No such file or directory
  16. ISO 27001解读(一)管理思路
  17. 龙卷风路径_和平精英龙卷风在哪里 龙卷风位置介绍
  18. 模仿元气森林:为什么会是画虎画皮难画骨?
  19. 土包子也来爆料一下贵族的生活:高尔夫球场见闻
  20. 三十六计之借刀杀人(第三计)

热门文章

  1. y空间兑换代码_如何让Python代码加速运行?
  2. c++:template使用中的常见报错
  3. 百炼-2726:采药
  4. 语言纸对折的厚度编写代码_分享几款由“Python”语言编写的“有趣、恶搞、好玩”的程序代码...
  5. 用Neo4j图形数据库打造专属于你的高bigger关系图
  6. mmlspark-101: TrainClassifier
  7. 机器学习- 吴恩达Andrew Ng 编程作业技巧 for Week5 Neural Networks Learning
  8. CDN 的诞生、术语、原理、特征以及应用场景
  9. 算法:螺旋矩阵算出N行N列的数组Spiral Matrix II
  10. 前段基础html常用标签,web前端开发网络课程,HTML常用的五种标签