Python3入门 Python3+Selenium做UI页面测试的学习
https://ke.qq.com/course/310732
一直计划着系统地看看Python3,这两天不用加班了,在网上下了些资源,自己演练一番。
Python3标识符
保留字,直接命令行中可以查看当前版本的保留字

我用的是PyCharm,保留字截图不全面,复制如下:
PyDev console: starting.
Python 3.7.0 (v3.7.0:1bf9cc5093, Jun 27 2018, 04:59:51) [MSC v.1914 64 bit (AMD64)] on win32
import keyword
keyword.kwlist
['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue',
'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in',
'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']
Python中以#标识注释 需要注意的是Python中很注重缩进,同一个代码块不需要使用{}而是通过相同的缩进表示
Python中的字符串前缀操作需要说明一下,r"hello world \t" 其中\t并不显示为制表符,仅仅以\t形式显示
命令行中可以使用python3 test.py运行程序
if、while、elif、else、class等与java的不同:后面跟的不是{而是:
Python中的注释:
单行注释
#
多行注释
'''或"""即三个连续的单引号或双引号
import os
from time import strftime, localtime
from selenium import webdriver chromedriver = ".\Tools\chromedriver.exe"
url2 = "https://m.zhipin.com/weijd/v2/job/1665531fe50fa0ea1XJ90tq1GVo~"
url3="https://m.zhipin.com/weijd/v2/job/c31807a4e76cddb21Xd-2tS0EFU~"
url1 = "https://yijiauat.acxiom.com.cn/Kiosk_Coupon/coup/"
url4="https://m.zhipin.com/weijd/v2/job/018cf113ffaf15ac1XF42Ny9FFA~"
url="https://m.zhipin.com/weijd/v2/job/0b96886ea49af6e21nF72ti5EFc~"
os.environ["webdriver.chrome.driver"] = chromedriver
driver = webdriver.Chrome(chromedriver)
driver.get(url)
driver.maximize_window()
driver.implicitly_wait(10)
print("======标题是"+driver.title)
print("======URL是"+driver.current_url)
#注释 print("======页面元素是"+driver.page_source)
print(driver.get_window_size())
time =strftime('%Y%m%d%H%M%S',localtime())
'''print(time)注释'''
"""print(time)注释"""
print(time)
driver.get_screenshot_as_file(".\\ScreenShot\\file_"+time+".png")
print(driver.get_window_position()) print (driver.find_element_by_css_selector ("div.boss-message").text)
print(driver.find_element_by_css_selector("p.name").text +" 薪资水平: "+driver.find_element_by_css_selector("p.salary").text) print (driver.find_element_by_class_name ("detail-text").text) print ("------职位信息结束------------")
driver.quit ()
Selenium函数
在Selenium包下,webdriver/remote/webdriver.py

实例: 7.1通过id属性定位元素
#号表示通过id属性来定位元素
find_element_by_css_selector("#kw") 7.2通过class属性定位元素
.号表示通过class属性来定位元素
find_element_by_css_selector(".s_ipt") 7.3通过标签名定位元素
find_element_by_css_selector("input") 7.4通过属性定位元素(挺常用的)
find_element_by_css_selector("[name='wd']")
find_element_by_css_selector("[maxlength='255']")
属性值包含某个值
属性值包含wd:适用于由空格分隔的属性值。
find_element_by_css_selector("[name~='wd']") 7.5父子定位元素
查找有父亲元素的标签名为span,它的所有标签名叫input的子元素
find_element_by_css_selector("span>input") 7.6组合定位元素
标签名#id属性值:指的是该input标签下id属性为kw的元素
find_element_by_css_selector("input#kw")
标签名.class属性值:指的是该input标签下class属性为s_ipt的元素
find_element_by_css_selector("input.s_ipt")
标签名[属性=’属性值‘]:指的是该input标签下name属性为wd的元素
find_element_by_css_selector("input[name='wd']")
父元素标签名>标签名.class属性值:指的是span下的input标签下class属性为s_ipt的元素
find_element_by_css_selector("span>input.s_ipt") 多个属性组合定位元素(挺常用的)
指的是input标签下id属性为kw且name属性为wd的元素
find_element_by_css_selector("input.s_ipt[name='wd']")
指的是input标签下name属性为wd且maxlength为255的元素
find_element_by_css_selector("input[name='wd'][maxlength='255']") 比较复杂的CSS定位可查看
http://www.360doc.com/content/13/1105/10/11675837_326750173.shtml
http://www.360doc.com/content/13/1105/10/11675837_326750240.shtml 比较懒惰的方法:
使用搜狐浏览器的firebug工具,复制CSS路径,不过这种方式对层级要求高,到时候自己再修改下。 from time import strftime, localtime
import time
print(time.time())
time1=strftime('%Y-%m-%d %H:%M:%S', localtime())
time2 = strftime('%Y%m%d%H%M%S', localtime())
time3 = strftime('%y%m%d%H%M%S', localtime())
time4 = strftime('%Z %X %y%m%d%H%M%S', localtime())
time5 = strftime('"%a %b %d %H:%M:%S %Y', localtime())
print(localtime())
print(time1)
print(time2)
print(time3)
print(time4)
print(time5) '''
1537942227.6411319
time.struct_time(tm_year=2018, tm_mon=9, tm_mday=26, tm_hour=14, tm_min=10, tm_sec=27, tm_wday=2, tm_yday=269, tm_isdst=0)
2018-09-26 14:10:27
20180926141027
180926141027
China Standard Time 14:10:27 180926141027
"Wed Sep 26 14:10:27 2018
''' """
python中时间日期格式化符号:
%y 两位数的年份表示(00-99)
%Y 四位数的年份表示(000-9999)
%m 月份(01-12)
%d 月内中的一天(0-31)
%H 24小时制小时数(0-23)
%I 12小时制小时数(01-12)
%M 分钟数(00=59)
%S 秒(00-59)
%a 本地简化星期名称
%A 本地完整星期名称
%b 本地简化的月份名称
%B 本地完整的月份名称
%c 本地相应的日期表示和时间表示
%j 年内的一天(001-366)
%p 本地A.M.或P.M.的等价符
%U 一年中的星期数(00-53)星期天为星期的开始
%w 星期(0-6),星期天为星期的开始
%W 一年中的星期数(00-53)星期一为星期的开始
%x 本地相应的日期表示
%X 本地相应的时间表示
%Z 当前时区的名称%% %号本身 """ from time import strftime, localtime
import time
print(time.time())
time1=strftime('%Y-%m-%d %H:%M:%S', localtime())
time2 = strftime('%Y%m%d%H%M%S', localtime())
time3 = strftime('%y%m%d%H%M%S', localtime())
time4 = strftime('%Z %X %y%m%d%H%M%S', localtime())
time5 = strftime('"%a %b %d %H:%M:%S %Y', localtime())
print(localtime())
print(time1)
print(time2)
print(time3)
print(time4)
print(time5) '''
1537942227.6411319
time.struct_time(tm_year=2018, tm_mon=9, tm_mday=26, tm_hour=14, tm_min=10, tm_sec=27, tm_wday=2, tm_yday=269, tm_isdst=0)
2018-09-26 14:10:27
20180926141027
180926141027
China Standard Time 14:10:27 180926141027
"Wed Sep 26 14:10:27 2018
''' """
python中时间日期格式化符号:
%y 两位数的年份表示(00-99)
%Y 四位数的年份表示(000-9999)
%m 月份(01-12)
%d 月内中的一天(0-31)
%H 24小时制小时数(0-23)
%I 12小时制小时数(01-12)
%M 分钟数(00=59)
%S 秒(00-59)
%a 本地简化星期名称
%A 本地完整星期名称
%b 本地简化的月份名称
%B 本地完整的月份名称
%c 本地相应的日期表示和时间表示
%j 年内的一天(001-366)
%p 本地A.M.或P.M.的等价符
%U 一年中的星期数(00-53)星期天为星期的开始
%w 星期(0-6),星期天为星期的开始
%W 一年中的星期数(00-53)星期一为星期的开始
%x 本地相应的日期表示
%X 本地相应的时间表示
%Z 当前时区的名称%% %号本身 """
Python3入门 Python3+Selenium做UI页面测试的学习的更多相关文章
- selenium做UI自动化时,模拟鼠标各种操作的ActionChains的用法
1.selenium做自动化的时候,需要模拟鼠标进行单击.双击.右键.拖拽等操作,selenium提供了ActionChains类来进行处理. 2.执行原理:当你调用ActionChains的方法时, ...
- Python3入门(十)——调试与测试
一.异常处理 1.try...except...finally... 这个也就是Java里的try...cath..finally...了,直接看经典代码: try: print("开始执行 ...
- Python3.x:Selenium中的webdriver进行页面元素定位
Python3.x:Selenium中的webdriver进行页面元素定位 页面上的元素就像人一样,有各种属性,比如元素名字,元素id,元素属性(class属性,name属性)等等.webdriver ...
- Python3.x:selenium获取iframe内嵌页面的源码
Python3.x:selenium获取iframe内嵌页面的源码 前言 在一些网页中经常会看到ifrmae/frame标签,iframe是嵌入式框架一般用来在已有的页面中嵌入另一个页面,当一个元素在 ...
- Python3.x:Selenium+PhantomJS爬取带Ajax、Js的网页
Python3.x:Selenium+PhantomJS爬取带Ajax.Js的网页 前言 现在很多网站的都大量使用JavaScript,或者使用了Ajax技术.这样在网页加载完成后,url虽然不改变但 ...
- Python3入门机器学习经典算法与应用
<Python3入门机器学习经典算法与应用> 章节第1章 欢迎来到 Python3 玩转机器学习1-1 什么是机器学习1-2 课程涵盖的内容和理念1-3 课程所使用的主要技术栈第2章 机器 ...
- python3入门之类
在面向对象的语言中,类是最重要的一环,python自然拥有类这个机制.python的类机制,与C++,java的区别不是很大,类的大多数的重要特性都被沿用了,一样可以多态,抽象,封装: python3 ...
- python3入门之函数
相信大家学习过其他语言,懂得函数的作用.简单的说函数最好的作用就是可以使程序变得懒惰.python作为后起之秀,当然也会拥有函数这个有用的东西: 创建函数 使用def语句即可创建函数,如创建一个用来生 ...
- python3入门之赋值语句介绍
获得更多资料欢迎进入我的网站或者 csdn或者博客园 本节主要介绍赋值语句,以及几种特殊的赋值.下面附有之前的文章: python3入门之print,import,input介绍 python入门之字 ...
随机推荐
- Eloquent JavaScript #07# Project: A Robot
索引 Notes Excercise Measuring a robot Robot efficiency Persistent group 注释即笔记: const roads = [ " ...
- K8S学习笔记之CentOS7集群使用Chrony实现时间同步
0x00 概述 容器集群对时间同步要求高,实际使用环境中必须确保集群中所有系统时间保持一致,openstack官方也推荐使用chrony代替ntp做时间同步. Chrony是一个开源的自由软件,像Ce ...
- 在虚拟机上安装gho、esd(wim)系统镜像文件
gho.esd(wim)等文件不能被虚拟机识别,但如果把它们打包成iso就可以了. 另外,还需用到能在虚拟机上运行的WinPE的iso文件,本文用的是微PE. 注意:安装虚拟机提示operating ...
- MySQL按指定字段自定义列表排序
亲测实例: 1级排序:同城>异城 2级排序:未领养>以领养 3级排序:发布最新靠前 MYSQL语句如下: SELECT ura.id,ura.city,ura.uid,ura.rescue ...
- Golang两种执行流程以及区别
Go语言的执行方式有两种,一种是编译后再执行,另一种直接go run执行. 一.先编译后执行 .go文件(源代码)--->go build指令把源代码编译(如果是windows下会编译出一个.e ...
- TCP/IP 最常见的错误原因码 (errno)列表
对于在基于 UNIX 的环境中的 TCP/IP 用户,下表列出了某些最常见的错误原因码 (errno).它不是完整的错误列表.可以在文件 /usr/include/sys/errno.h 中找到 Er ...
- mysql/mariadb应该使用utf8mb4而不是utf8
详情参考https://mp.weixin.qq.com/s?__biz=MzIwMzg1ODcwMw==&mid=2247487968&idx=1&sn=2ff7b511f6 ...
- SQLServer和MySql的区别总结
SqlServer支持like '%'+'87'+'%' 拼接字符串 但MySql里不支持,只能用CONCAT('%','87','%')拼接,否则异常 1.递归函数的区别类别表CREATE TAB ...
- 20145325张梓靖 《网络对抗技术》 PC平台逆向破解
20145325张梓靖 <网络对抗技术> PC平台逆向破解 学习任务 shellcode注入:shellcode实际是一段代码,但却作为数据发送给受攻击服务器,将代码存储到对方的堆栈中,并 ...
- 浅析alsa声卡驱动snd_interval结构体openmin,openmax和integer含义
// openmin和openmax表示开集,如果2个全为1,那么就表示,range范围为(min,max)即2个开区间// openmin为1,openmax为0,range范围为(min,max] ...