selenium+python在Windows的环境搭建
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的环境搭建相关推荐
- Windows TensorFlow环境搭建
Windows TensorFlow环境搭建 简介 本次安装是在Windows10 上进行的,使用tensorflow安装的环境为 Anaconda.Python3.7.TensorFlow2.0 搭 ...
- 我的全栈之路-Python基础之Python概述与开发环境搭建
我的全栈之路-Python基础之Python概述与开发环境搭建 我的全栈之路 1.1 信息技术发展趋势 1.2 浅谈计算机系统架构 1.2.1 计算机系统架构概述 1.2.2 计算机硬件系统 1.2. ...
- Django Python MySQL Linux 开发环境搭建
Django Python MySQL Linux 开发环境搭建 1.安装Python 进行Python开发,首先必须安装python,对于linux 或者Mac 用户,python已经预装. 在命令 ...
- VS2008开发Windows Mobile6环境搭建及模拟器联网问题图解
安装了VS2008后,新建一个智能设备的工程,但调试时只有三个WM5.0的模拟器可用,从网上查到要安装WM6.0的SDK,还要安装一些其它的组件才能开始WM(现在最新的叫法叫WP Windows Ph ...
- 【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 上面的几个软件之间相互有版本依赖关系的因 ...
- Dart开发(一)Windows平台环境搭建
Dart开发Windows平台环境搭建 SDK官网下载地址:https://gekorm.com/dart-windows/ 安装完成后,在命令行输入:dart --version,安装成功会出现相应 ...
- 【Selenium项目实战】项目环境搭建:安装JDK、mysql、Tomcat、jpress和测试系统
前言 一直想学习自动化测试,但是都没行动,业余时间学习零零碎碎并记录20210416. [Selenium项目实战] 项目环境搭建:安装JDK.mysql.Tomcat.jpress和测试系统 需求分 ...
- 基于Codeblock的LVGL模拟器Windows平台环境搭建[带源码]
基于Codeblock的LVGL模拟器Windows平台环境搭建 文章目录 基于Codeblock的LVGL模拟器Windows平台环境搭建 概述 一.介绍 二.使用CodeBlock版本方法以及需要 ...
- python安卓版开发环境搭建_React Native Android 开发环境搭建(Windows 版)
补上之前说的 Windows 系统的 React Native 开发环境搭建,坑还是比 Mac 环境下的多些.此文的受众还是已经搭建过 Android 开发环境的同学. 需要安装的软件 Chocola ...
- windows安装Python+tensorflow机器学习开发环境搭建
2019独角兽企业重金招聘Python工程师标准>>> 安装版本: python版本:3.6.4 发布或时间: 2017-12-19 下载地址:https://www.python. ...
最新文章
- java原子操作的实现原理--转载
- PL/SQL-2 复合数据类型
- 【Maven实用技巧】03. Maven 编译打包时如何忽略测试用例
- [导入]相片: 53787515.jpg
- 第一章 计算机系统概述 1.3 计算机的性能指标 [计算机组成原理笔记]
- (计算机组成原理)第二章数据的表示和运算-第三节2:IEEE754标准
- 转mjpeg协议到httpflv
- pc控制iphone的软件_哪个备忘录便签app可以和PC电脑一块儿用
- 【转】学习理论,注重细节
- 还在用上古的 ls 命令管理文件吗,是时候使用终端文件管理神器 lf 了!
- 10月全球浏览器份额态势:Chrome领先Firefox7.34%
- C++primer 7.4节练习
- 数论基础——欧拉函数(一)(模板)
- TurboMail 邮件系统V5.2.0新品发布会盛况直击
- fatal error: libmemcached/memcached.h: No such file or directory
- ISO 27001解读(一)管理思路
- 龙卷风路径_和平精英龙卷风在哪里 龙卷风位置介绍
- 模仿元气森林:为什么会是画虎画皮难画骨?
- 土包子也来爆料一下贵族的生活:高尔夫球场见闻
- 三十六计之借刀杀人(第三计)
热门文章
- y空间兑换代码_如何让Python代码加速运行?
- c++:template使用中的常见报错
- 百炼-2726:采药
- 语言纸对折的厚度编写代码_分享几款由“Python”语言编写的“有趣、恶搞、好玩”的程序代码...
- 用Neo4j图形数据库打造专属于你的高bigger关系图
- mmlspark-101: TrainClassifier
- 机器学习- 吴恩达Andrew Ng 编程作业技巧 for Week5 Neural Networks Learning
- CDN 的诞生、术语、原理、特征以及应用场景
- 算法:螺旋矩阵算出N行N列的数组Spiral Matrix II
- 前段基础html常用标签,web前端开发网络课程,HTML常用的五种标签