随笔分类 -  python

摘要:今天在服务器(CentOS)上安装 python-pip 时遇到两个问题 1. ImportError: No module named bz2 2. ImportError: cannot import name HTTPSHandle 百度/Google之,解决方案如下: > ImportError: No module named bz2: > > 这个问题是因为系统没有安装 bz... 阅读全文
posted @ 2013-12-19 22:43 _漏斗 阅读(520) 评论(0) 推荐(0)
摘要:selenium的学习搁置了蛮长时间了,现在重新再捡回来 unittest框架应用(一) ==============## unittest简介 unittest 框架为 Python 提供的一个**单元测试**框架 这里我们用它来组织我们的 selenium-webdriver 的测试用例## 最简单的例子:```#coding=utf-8import unittestimport ti... 阅读全文
posted @ 2013-12-18 22:58 _漏斗 阅读(303) 评论(0) 推荐(0)
摘要:## haslib 这是`python`中的一个标准库,用于hash加密其中支持的加密方法有:* md5* sha1* sha224* sha256* sha384* sha512### 使用方法以md5为例:```#!/usr/bin/env python3import hashlibmd5obj = hashlib.md5('teststring') #这里创建了字符串teststring... 阅读全文
posted @ 2013-12-07 00:55 _漏斗 阅读(597) 评论(0) 推荐(0)
摘要:### 关于 __pycache__ 当第一次运行 python 脚本时,解释器会将 `*.py` 脚本进行编译并保存到 `__pycache__` 目录 下次执行脚本时,若解释器发现你的 `*.py` 脚本没有变更,便会跳过编译一步,直接运行保存在 `__pycache__` 目录下的 `*.pyc` 文件### 干掉 __pycache__1. 单次关闭: 运行脚本时添加 `-B` ... 阅读全文
posted @ 2013-11-23 15:52 _漏斗 阅读(8202) 评论(0) 推荐(0)
摘要:今天复习python函数相关的知识,发现一直忽略了一python函数的一个重要特性: 可以返回"多个"值 像这样 ```#!/usr/bin/env python3def foo(): return 1,2x, y = foo()print(x)print(y)```输出结果是: 1 2 顺便把python关于返回值的知识点总结下: 1. 无显式return语句时,返... 阅读全文
posted @ 2013-11-21 23:36 _漏斗 阅读(1774) 评论(0) 推荐(0)
摘要:### 1.缩进 选择2个空格 ``` set shiftwidth=2 set tabstop=2 ``` 使用2个空格代替TAB键 markdown中TAB有语法意义,所以编辑markdown时关闭替代 ``` set et autocmd! FileType markdown set noet ```### 2.行宽 80 ``` set linebreak set tw=80 ```### 3.语句分隔符 python换行即可 nodejs一律使用分号(;)### 4.变量定义 nodejs统一使用var显示声明,并且... 阅读全文
posted @ 2013-11-17 16:58 _漏斗 阅读(380) 评论(0) 推荐(0)
摘要:因为python没有switch语句,一直以来都是用多个if..elif..来实现相同逻辑.今天看到一个凶残暴力的实现方式,于是动手写写,记下来from distutils import logdef stateA(): log.warn('stateA called')def stateB(): log.warn('stateB called')def stateC(): log.warn('stateC called')def stateDefault(): log.warn('stateDefault called')cas 阅读全文
posted @ 2013-10-29 21:51 _漏斗 阅读(519) 评论(0) 推荐(0)
摘要:----定位弹窗1.定位弹窗所谓"弹窗",并不是指前面的alert一类由js产生的对话框, 而是指打开一个新链接(target=”_blank”)时,产生的新的浏览器窗口.这时需要用到的函数是switch_to_window这个函数接受两种参数.一个就是窗口句柄(可以通过window_handles属性获得),另一个就是新打开窗口名称(即a标签中target属性的值,不能是_blank等关键字)代码如下:handle.py:import osfrom time import sleepfrom distutils import logfrom selenium import 阅读全文
posted @ 2013-10-28 23:07 _漏斗 阅读(1091) 评论(0) 推荐(0)
摘要:----定位frame页面中的元素,处理prompt/alert/confirm1.定位frame页面中的元素frame页面的内容是属于其它html文件的在处理其内容前需要先使用switch_to_frame函数将WebDriver对象指向frame页面当处理完frame页面,可以通过switch_to_default_content函数回到主页面上代码如下:import osfrom time import sleepfrom distutils import logfrom selenium import webdriverdr = webdriver.Firefox()url = &qu 阅读全文
posted @ 2013-10-27 17:41 _漏斗 阅读(535) 评论(0) 推荐(0)
摘要:----定位元素组,层级定位 1.定位元素组 当我们要确认某一种元素数量或需要从某一些类似元素中找到特定元素时 比如列表中的一组CheckBox.这时可以用到find_elements系列函数 代码如下(代码中使用xpath定位元素): group.py: import osfrom time import sleepfrom distutils import logfrom seleni... 阅读全文
posted @ 2013-10-27 00:45 _漏斗 阅读(353) 评论(0) 推荐(0)
摘要:----定位元素,操作元素1.定位元素定位元素有多种方法,如下:* id HTML标签的id属性* name HTML标签的name属性* class_name HTML标签的class属性* css_selector 元素使用到的css选择器* link_text 链接的显示文本* partial_link_name 链接显示文本的一部分* tag_name 标签名* xpath (相关教程: w3cschool)具体代码如下:import osfrom time import sleepfrom distutils import logfrom selenium import webdri 阅读全文
posted @ 2013-10-25 23:34 _漏斗 阅读(359) 评论(0) 推荐(0)
摘要:--访问URL,获取当前URL及TITLE1.访问URL使用webdriver的get方法可以访问指定的url代码如下:from selenium import webdriverfrom time import sleepdr = webdriver.Firefox()# 访问googledr.get("http://www.google.com.hk")sleep(3)dr.close()2.获取当前URL及TITLE因为有时我们会通过点击页面上的链接来进行页面跳转这时候我们需要获取跳转后的URL以确认跳转是否成功,这就需要获取浏览器当前URL代码如下:from sel 阅读全文
posted @ 2013-10-25 01:05 _漏斗 阅读(1289) 评论(0) 推荐(0)
摘要:-- 安装,打开/关闭浏览器1.为python安装setuptools下载官方提供的ez_setup.py脚本.运行该脚本会自动完成setuptools下载和安装下载地址:https://bitbucket.org/pypa/setuptools/raw/bootstrap/ez_setup.py2.为python安装pip同样该工具也提供安装脚本get-pip.py下载地址:https://raw.github.com/pypa/pip/master/contrib/get-pip.py安装完后,需要将pip所在目录添加到PATH环境变量中,如C:\Python33\Scripts3.安装s 阅读全文
posted @ 2013-10-24 01:15 _漏斗 阅读(343) 评论(0) 推荐(0)