(二)selenium+python选择编译器写第一个自动化脚本_TroKey的博客-程序员秘密

技术标签: selenium+webdriver  python  开发工具  测试  selenium+python  

编辑器选择实际上就是对python编辑器的选择,python的编辑器非常多,比如Vim、pycharm、IDLE、eclipse等等,可以参考一下《推荐的10款python编辑器》:http://blog.jobbole.com/80478/

如果你没有接触过什么编辑器,刚接触python,那么建议你选择JetBrains出品的商业Python IDE:pycharm

优点:
  1. 支持重构
  2. 支持Django
  3. 支持可视化调试
  4. 支持GAE
  5. 支持智能提示
  6. 集成单元测试
  7. 集成SVN,Git和Hg等各种版本管理工具
  8. 可以利用Intellij IDEA的各种插件
  9. 支持Windows, Mac和Linux平台

缺点:
需要破解,属于收费软件。但是国人是很牛逼的 酷
我习惯用eclipse,所以选择用eclipse做编辑器。
这里就拿eclipse讲吧。
首先,eclipse要集成python编辑环境, Eclipse with Pydev。
安装python和eclipse以及jdk就略过了,说下安装Pydev
2. 下载后解压, 将feature 和 plugins 两个文件夹下的jar包拷贝到eclipse 安装目录下的对应的feature和plugins目录下面
3.重启eclipse后配置PyDev,步骤如下:
window -> Preferences -> PyDev -> Interpreters -> Python Interpreter -> New ->
选择Python的安装目录: D:\develop\python      # 这是我电脑的设置, 请配置成你自己的安装路径
新建一个PyDev project, 再见一个测试文件test.py, 内容: print ("hello world")


 
④点击右键,run选择python run执行,打印“hello  world”,那就说明PyDev环境配置好了


 


 接下来,新建一个PyDev文件,命名为:PythonFirstdemo,代码如下:
# coding:utf-8
# 导入webdriver驱动
from selenium import webdriver
#把webdriver控制Firefox的权限赋给指定的关键字driver
driver=webdriver.Firefox()
#通过get()方法跳转到指定url
driver.get("http://www.baidu.com")
driver.find_element_by_id("kw").clear()#    清空搜索输入框内容
driver.find_element_by_id("kw").send_keys("selenium")#    输入搜索内容'selenium'
driver.find_element_by_id("su").click()#    点击'百度一下'按钮进行搜索
#    退出
driver.quit()
print u"执行完毕"
 代码解析:
# coding = utf-8
 
为了防止乱码问题,以及方便的在程序中添加中文注释,把编码统一成 UTF-8。
from selenium import webdriver
 
导入 selenium 的 webdriver 包,只有导入 webdriver 包我们才能使用 webdriver API 进行自动化脚本
的开发。 import 所引入包,更专业的叫法为:模组(modules)
 
driver=webdriver.Firefox()
 需要将控制的 webdriver 的 Firefox 赋值给 driver;获得了浏览器对象才可以启动浏览器,打开网
址,操作页面严肃,Firefox 是默认已经在 selenium webdriver 包里了,所以可以直接调用。当然也可
以调用 Ie 或 Chrome ,不过要先安装相关的浏览器驱动才行
driver.find_element_by_id("kw").clear()
 清空搜索输入框内容,避免缓存内容自动填充
driver.find_element_by_id("kw").send_keys("selenium")
  关于页面元素的定位后面将会详细的介绍,这里通过 id=kw 定位到百度的输入框,并通过键盘方法
send_keys()向输入框里输入 selenium 
driver.find_element_by_id("su").click()
 这一步通过 id=su 定位的搜索按钮,并向按钮发送单击事件( click() ) 。
driver.quit()
 
退出并关闭窗口的每一个相关的驱动程序。
print u"执行完毕"
 打印输出“执行完毕”,这里中文输入需要在引号前面加上字母u
 
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/TroKey/article/details/84752938

智能推荐

thzvv.com forum php,Eclipse Community Forums_江苏泽执律师事务所的博客-程序员秘密

This is a multi-part message in MIME format.--------------060803070607060703020603Content-Type: text/plain; charset=ISO-8859-1; format=flowedContent-Transfer-Encoding: 7bitHi folks.I posted a relates ...

基于FPGA的SATA 3.0 Host 控制器_fpga sata清空指令_FPGA IP的博客-程序员秘密

SATA Host Core可以集成到FPGA中,兼容SATA-1(1.5Gbps),SATA-2(3.0Gbps),SATA-3(6.0Gbps)工业级接口标准,为SATA设备提供一种高效且易于使用的接口。 内核特性:兼容SATA 3.0规范 支持SATA-1(1.5Gbps),SATA-2(3.0Gbps),SATA-3(6.0Gbps)操作 Phy Layer包含FPGA T...

/usr/local/arm/4.3.2/bin/arm-none-linux-gnueabi-gcc: No such file or directory_stone8761的博客-程序员秘密

基于OK6410的安卓开发学习(问题集)     在安装好交叉工具链后无法运行工具链出现如下错误:/usr/local/arm/4.3.2/bin/arm-linux-gcc: line 3: /usr/local/arm/4.3.2/bin/arm-none-linux-gnueabi-gcc: No such file or directory     这是因为这里使用的Ubunt...

vue小案例(小黑记事本和购物车)_前端小白在前进的博客-程序员秘密

小黑记事本小案例 <footer class="footer" > <span class="todo-count" v-if="list.length!=0"> <strong>{{list.length}}</strong> items left </span> <button class="clear-completed" @click="clear" v-if="li.

随便推点

leetcode—从两个有序数组中寻找他们并集的第k小元素(思路)_宝蓓的博客-程序员秘密

从两个有序数组中寻找他们并集的第k小元素题目:两个排好序的数组A,B,大小分别为m,n,找到两个数组中所有元素的 第k小的元素 但是这种思路有一个问题,那就是如果A中元素没有k/2-1个的时候,就没办法用上述方法判断,不过此时可以使用取A中的所有元素,取B中的前k-m个元素 也可以按比例来取,比如取A中的前(m/(m+n))*k个元素,取B中前(k-(m/(m+n))*k)个元...

最小生成树 Matlab Code_Jun-H的博客-程序员秘密

function [wSum StartPos EndPos] = MST_JunH(W_Matrix, headPos)% W_Matrix' = W_Matrix : 表示权值矩阵% headPos : 表示树头在W_Matrix的位置% wSum : 表示得到的最小生成树的权值总和% CopyRight : JunH 20130411[row col] = size(W_

2.5 从制表符分隔的文件中读取数据_python 读取制表符文件__yummy_的博客-程序员秘密

2.5 从制表符分隔的文件中读取数据平坦数据文件格式是制表符分隔的文件。1、从制表符分隔的文件中读取数据和我之前的2.2从CSV文件导入数据那篇文章一样,在这里只需要修改一下方言。2、操作步骤(1)打开ch02-data.csv文件。(2)首先读取文件头。(3)然后读取剩余行。(4)当发生错误时抛出异常。3、代码实现import csvimport sysfilename='ch02-data.tab'data=[]try: #打开CSV文件,并把它绑定到对象f

uniapp微信登录注意事项(app端)_东黧的博客-程序员秘密

真机调试设置1、manifest.jsonapp模块权限配置选择oauth(登录鉴权)app sdk配置填写微信开放平台appid和appsecret(不是微信公众平台)2、自定义基座使用HBuilder/HBuilderX开发应用时,支持实时在手机/模拟器上查看运行效果,点击菜单栏“运行”->“运行到手机或模拟器”使用。此功能会在手机/模拟器上安装“HBuilder”应用(...

C语言实现数制转换_数制转换c语言_helloworldpeople的博客-程序员秘密

昨天实现了栈的初始化和压一个数据入栈这两个函数,今天添加一个判断栈是否为空以及出栈这两个函数,并且实现一个简单的数制转换的功能。首先简单介绍一下数制转换功能,对于任意一个十进制数N,将其转换成d进制数,这里偷懒直接选用书上例子,将十进制数转换成八进制数,过程如下:NN/8N%813481684168210212

SAP_ABAP_TABLE CONTROL部分行可编辑_湖东的博客-程序员秘密

在PBO循环内表中根据工作区的具体字段值,控制屏幕的编辑属性。PBO:LOOP AT 内表 WITH CONTROL ztc_0100-current_liine. MODULE ztc_010_get_liines.ENDLOOP.写在MODULE ztc_010_get_lines.IF 内表当前行-指定字段 EQ 特定值. LOOP AT SCREEN. IF screen-name EQ '内表当前行-指定字段'. screen-i...

推荐文章

热门文章

相关标签