python自动化环境搭建

摘要:
打开Pycharm,创建一个新的Python项目,然后创建一个演示。py文件。输入以下代码:#coding:utf-8fromsenium importwebdriver=webdriver。Firefox()驱动程序。maximize_window()驱动程序。implicitly_waitdriver.getdriver。通过id.send键驱动程序查找元素。通过id click()驱动程序查找元素。退出()输入完成后,右键单击并单击RunDemo,您将看到启动firefox的浏览器进入百度主页,在百度搜索输入框中输入selenium hq,单击搜索框,然后浏览器将自动关闭。
1 selenium环境搭建
1.1selenium
selenium是测试web应用程序的框架,selenium为没有测试脚本的人提供了(seleniumide)提供了录制/回放的工具,同时它也提供了特定域的语言来编写测试脚本,如c#,java,python等,selenium可以针对最现代的web浏览器运行测试,如firefox,chrome,ie,open等浏览器,selenium可以在windows,linux等平台上部署,selenium同时是开放源码的软件,是在apache2.0许可证下发布。
1.2selenium环境搭建
安装如下:
1、下载python,地址:https://www.python.org/downloads/(建议下载2.X版本的)
2、安装python的时候,记得在安装栏选择把python加到path的环境变量,这样python安装的时候,会自动安装setuptoolspip
3、安装selenium
a)在线安装:运行cmd,执行命令pip install -U selenium 安装
b)离线安装:到https://pypi.python.org/pypi/selenium地址下载selenium-2.46.0.tar.gz,下载文件成功后,解压文件,到文件的目录下,会看到setup.py文件,安装方式为到setup.py文件的目录下,执行命令为pythonsetup.py install安装。
4python开发工具pycharm
https://www.jetbrains.com/pycharm/download/地址下载pycharm,最好下载免费版本的。
5、监测selenium环境
运行cmd,输入python,会进入到dos下的python环境,输入:
from seleniumimport webdriver
无任何的错误提示信息,表示selenium安装成功。打开pycharm,创建新的python工程,再接着创建demo.py的文件,输入如下的代码:
#coding:utf-8
from seleniumimport webdriver

driver=webdriver.Firefox()
driver.maximize_window()
driver.implicitly_wait(30)
driver.get('http://www.baidu.com')
driver.find_element_by_id('kw').send_keys('seleniumhq')
driver.find_element_by_id('kw').click()
driver.quit()

输入完成后,右键,点击Run Demo,就会看到启动 firefox的浏览器进入到百度首页,在百度搜索输入框输入seleniumhq,然后点击搜索框,接着浏览器就会自动关闭。
如上的代码解释如下:
#coding:utf-8
防止乱码,在程序中统一添加注释,把编码统一成utf-8
from seleniumimport webdriver
导入seleniumwebdriver的包,只有导入了webdriver,才可以更好的引用webdriver api进行自动化脚本的编写。
driver=webdriver.Firefox()
把需要控制的 webdriverFirefox赋值给driver,只有获得对象后,才可以操作浏览器(firefox,chrome,ie)
driver.get('http://www.baidu.com')
获取浏览器对象后,调用get()向浏览器发送测试的地址。
driver.find_element_by_id('kw').send_keys('seleniumhq')
定位到页面元素后,通过id=kw定位到百度搜索输入框并且输入seleniumhq
driver.quit()
退出并且关闭窗口。
1.3Firebug的使用
打开firefox的浏览器,点击工具下拉栏的“附加组件”,在附加组件搜索输入框输入firebug,搜索到后,点击右边栏的安装,安装完成后,重新启动firefox的浏览器,就会在firefox的右上角显示firebug的图标,见截图:。点击该图标,浏览器下端就会显示调试的窗口,见截图:

点击,鼠标移动到百度搜索输入框,就可以看到如下的截图,会显示搜索输入框的ID等元素,见截图:

依据截图,我们可以获取到百度搜索输入框的idkw
chrome浏览器中,按下F12键,就会显示出调试界面,见截图:

点击移动到百度搜索输入框,就可以定位到百度搜索输入框的页面元素,见截图:

1.4 IE浏览器的操作
selenium操作ie的浏览器是无法操作的,需要通过driver才可以操作,google官方解释为:InternetExplorerDriver是一个独立的服务器,实现 WebDriver 的有线协议。此驱动程序已经过测试与 IE 6、 7、 8、 9 和 XP、 Vista 和 Windows7 的适当组合 10。驱动程序支持运行 32 位和 64位版本的浏览器。如何确定哪些"bit-ness"在启动浏览器中使用的选择取决于哪个版本的 IEDriverServer.exe 发起。如果启动时的 32位版本的 IEDriverServer.exe32位版本的 ie浏览器将会启动。同样,如果推出的 64位版本的 IEDriverServer.exe,将推出的 64 位版本的 IE。下载IEDriverServer文件后,把该文件放到C:Python27的目录下,就可以直接操作IE的浏览器了。见如下的代码:
#coding:utf-8

from selenium import webdriver
fromselenium.webdriver.common.desired_capabilities import DesiredCapabilities


DesiredCapabilities.INTERNETEXPLORER['ignoreProtectedModeSettings']= True
driver=webdriver.Ie()
driver.maximize_window()
driver.implicitly_wait(30)
driver.get('http://www.baidu.com')

driver.find_element_by_id('kw').send_keys('seleniumhq')
driver.find_element_by_id('kw').click()

driver.quit()

1.5Chrome浏览器的操作
通过ChromeDriver就可以操作chrome google官方的解释为:ChromeDriver由三个独立部分组成。那里是浏览器本身 (chrome"),由selenum项目 ("the driver") 提供的语言绑定和可执行文件下载从chrome项目作为"chrome"和"the driver"之间的桥梁。此可执行文件被称为"chromedriver",但我们可以试着把它称作"服务器"在此页中以减少混乱。下载chromedriver后,把chromedriver文件放到C:Python27的目录下,操作chrome的浏览器见如下的代码:
#coding:utf-8

from selenium import webdriver

driver=webdriver.Chrome()
driver.maximize_window()
driver.implicitly_wait(30)
driver.get('http://www.baidu.com')

driver.find_element_by_id('kw').send_keys('seleniumhq')
driver.find_element_by_id('kw').click(
)

driver.quit()

免责声明:文章转载自《python自动化环境搭建》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇curator框架的使用以及实现分布式锁等应用与zkclient操作zookeeper,简化复杂原生APITCP连接与HTTP请求下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Unity_发布webGL的问题专题笔记

unity发布成webGL会有很多坑,资源加载,命名,浏览器是否支持等问题。希望大家有什么好的解决办法或问题能互相交流。 如何将Unity的WebGl项目打包发布 :https://blog.csdn.net/qq_25542475/article/details/89370682 Unity 基础开发-WebGL发布无法运行问题:https://blo...

Python中读取txt文本出现“ 'gbk' codec can't decode byte 0xbf in position 2: illegal multibyte sequence”的解决办法

UnicodeDecodeError: 'gbk' codec can't decode byte 0xbf in position 2: illegal multibyte sequence 今天练习通过读取英文版的Walden.txt的文本信息,统计文本中的英文单词词频的时候出现了这样的错误提示。 错误的意思是:Unicode的解码(Decode)出现...

Zend Studio 默认模板和输入代码提示时间的修改方式

1. 新建文档的模板设置: Window -> Preferences -> PHP -> Editor -> Templates -> New simple PHP file // 这个可以修改每次新建文件的起始代码 2. 自动提示代码速度很慢: Window -> Preferences -> PHP ->...

使用yum安装php72

1.执行yum search php72w查看自己的yum源有没有php72 如果自己有安装其它php版本先执行yum -y remove php* 2.没有php72执行以下命令扩展yum库,以下命令来自https://webtatic.com/packages/php72/(想看自行查看) yum install epel-release rpm -...

Python自动化 【第十八篇】:JavaScript 正则表达式及Django初识

本节内容 JavaScript 正则表达式 Django初识 正则表达式 1、定义正则表达式 /.../ 用于定义正则表达式 /.../g 表示全局匹配 /.../i 表示不区分大小写 /.../m 表示多行匹配 JS正则匹配时本身就是支持多行,此处多行匹配只是影响正则表达式^和$,m模式也会使用^$来匹配换行的内容) 1 var pattern...

TIOBE 四月世界编程语言排行榜:C语言重回榜首

TIOBE 2012年4月世界编程语言排行榜已经发布。C语言超越了Java重回榜首;而Objective-C则一路飙升,超越了C#,占据了第4的位置;并且C++也重新回到第3的位置。而Python持续下滑,目前排名第8。 TIOBE2012年4月世界编程语言排行榜的前20名 从开发领域来讲,只要有合适的硬件驱动和API,C或者C++理论上是可以做任何开发的...