Python3入门Python3+Selenium做UI页面测试的学习

Python3入门Python3+Selenium做UI页面测试的学习,第1张

概述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 win32import keywordkeyword.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 osfrom time import strftime, localtimefrom selenium import webdriverchromedriver = ".Toolschromedriver.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"] = chromedriverdriver = 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.shtmlhttp://www.360doc.com/content/13/1105/10/11675837_326750240.shtml比较懒惰的方法:使用搜狐浏览器的firebug工具,复制CSS路径,不过这种方式对层级要求高,到时候自己再修改下。from time import strftime, localtimeimport timeprint(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.6411319time.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:2720180926141027180926141027China 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,

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 win32import keywordkeyword.kwList['False','None','True','and','as','assert','async','await','break','class','continue','def','del','elif','else','except','finally','for','from','global','if','import','in',sans-serif'>'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中的注释:单行注释#多行注释'''或"""即三个连续的单引号或双引号

 

<div >
<pre >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_screenshotasfile(".\ScreenShot\file_"+time+".png")
print(driver.getwindowposition())

print (driver.find_elementbyCSS_selector ("div.boss-message").text)
print(driver.find_elementbyCSS_selector("p.name").text +" 薪资水平: "+driver.find_elementbyCSS_selector("p.salary").text)

print (driver.find_element_byclassname ("detail-text").text)

print ("------职位信息结束------------")
driver.quit ()

  

 Selenium函数

在Selenium包下,webdriver/remote/webdriver.py

 

<div >
<pre >实例:

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_elementbyCSS_selector("input#kw")
标签名.class属性值:指的是该input标签下class属性为s_ipt的元素
find_elementbyCSS_selector("input.s_ipt")
标签名[属性=’属性值‘]:指的是该input标签下name属性为wd的元素
find_elementbyCSS_selector("input[name='wd']")
父元素标签名>标签名.class属性值:指的是span下的input标签下class属性为s_ipt的元素
find_elementbyCSS_selector("span>input.s_ipt")

多个属性组合定位元素(挺常用的)
指的是input标签下ID属性为kw且name属性为wd的元素
find_elementbyCSS_selector("input.s_ipt[name='wd']")
指的是input标签下name属性为wd且maxlength为255的元素
find_elementbyCSS_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,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页面测试的学习全部内容,希望文章能够帮你解决Python3入门 Python3+Selenium做UI页面测试的学习所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1208025.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-04
下一篇 2022-06-04

发表评论

登录后才能评论

评论列表(0条)

保存