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中的注释:
单行注释
#
多行注释
'''或"""即三个连续的单引号或双引号

  1. import os
  2. from time import strftime, localtime
  3. from selenium import webdriver
  4.  
  5. chromedriver = ".\Tools\chromedriver.exe"
  6. url2 = "https://m.zhipin.com/weijd/v2/job/1665531fe50fa0ea1XJ90tq1GVo~"
  7. url3="https://m.zhipin.com/weijd/v2/job/c31807a4e76cddb21Xd-2tS0EFU~"
  8. url1 = "https://yijiauat.acxiom.com.cn/Kiosk_Coupon/coup/"
  9. url4="https://m.zhipin.com/weijd/v2/job/018cf113ffaf15ac1XF42Ny9FFA~"
  10. url="https://m.zhipin.com/weijd/v2/job/0b96886ea49af6e21nF72ti5EFc~"
  11. os.environ["webdriver.chrome.driver"] = chromedriver
  12. driver = webdriver.Chrome(chromedriver)
  13. driver.get(url)
  14. driver.maximize_window()
  15. driver.implicitly_wait(10)
  16. print("======标题是"+driver.title)
  17. print("======URL是"+driver.current_url)
  18. #注释 print("======页面元素是"+driver.page_source)
  19. print(driver.get_window_size())
  20. time =strftime('%Y%m%d%H%M%S',localtime())
  21. '''print(time)注释'''
  22. """print(time)注释"""
  23. print(time)
  24. driver.get_screenshot_as_file(".\\ScreenShot\\file_"+time+".png")
  25. print(driver.get_window_position())
  26.  
  27. print (driver.find_element_by_css_selector ("div.boss-message").text)
  28. print(driver.find_element_by_css_selector("p.name").text +" 薪资水平: "+driver.find_element_by_css_selector("p.salary").text)
  29.  
  30. print (driver.find_element_by_class_name ("detail-text").text)
  31.  
  32. print ("------职位信息结束------------")
  33. driver.quit ()

  

Selenium函数

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

  1. 实例:
  2.  
  3. 7.1通过id属性定位元素
  4. #号表示通过id属性来定位元素
  5. find_element_by_css_selector("#kw")
  6.  
  7. 7.2通过class属性定位元素
  8. .号表示通过class属性来定位元素
  9. find_element_by_css_selector(".s_ipt")
  10.  
  11. 7.3通过标签名定位元素
  12. find_element_by_css_selector("input")
  13.  
  14. 7.4通过属性定位元素(挺常用的)
  15. find_element_by_css_selector("[name='wd']")
  16. find_element_by_css_selector("[maxlength='255']")
  17. 属性值包含某个值
  18. 属性值包含wd:适用于由空格分隔的属性值。
  19. find_element_by_css_selector("[name~='wd']")
  20.  
  21. 7.5父子定位元素
  22. 查找有父亲元素的标签名为span,它的所有标签名叫input的子元素
  23. find_element_by_css_selector("span>input")
  24.  
  25. 7.6组合定位元素
  26. 标签名#id属性值:指的是该input标签下id属性为kw的元素
  27. find_element_by_css_selector("input#kw")
  28. 标签名.class属性值:指的是该input标签下class属性为s_ipt的元素
  29. find_element_by_css_selector("input.s_ipt")
  30. 标签名[属性=’属性值‘]:指的是该input标签下name属性为wd的元素
  31. find_element_by_css_selector("input[name='wd']")
  32. 父元素标签名>标签名.class属性值:指的是span下的input标签下class属性为s_ipt的元素
  33. find_element_by_css_selector("span>input.s_ipt")
  34.  
  35. 多个属性组合定位元素(挺常用的)
  36. 指的是input标签下id属性为kwname属性为wd的元素
  37. find_element_by_css_selector("input.s_ipt[name='wd']")
  38. 指的是input标签下name属性为wdmaxlength255的元素
  39. find_element_by_css_selector("input[name='wd'][maxlength='255']")
  40.  
  41. 比较复杂的CSS定位可查看
  42. http://www.360doc.com/content/13/1105/10/11675837_326750173.shtml
  43. http://www.360doc.com/content/13/1105/10/11675837_326750240.shtml
  44.  
  45. 比较懒惰的方法:
  46. 使用搜狐浏览器的firebug工具,复制CSS路径,不过这种方式对层级要求高,到时候自己再修改下。
  47.  
  48. from time import strftime, localtime
  49. import time
  50. print(time.time())
  51. time1=strftime('%Y-%m-%d %H:%M:%S', localtime())
  52. time2 = strftime('%Y%m%d%H%M%S', localtime())
  53. time3 = strftime('%y%m%d%H%M%S', localtime())
  54. time4 = strftime('%Z %X %y%m%d%H%M%S', localtime())
  55. time5 = strftime('"%a %b %d %H:%M:%S %Y', localtime())
  56. print(localtime())
  57. print(time1)
  58. print(time2)
  59. print(time3)
  60. print(time4)
  61. print(time5)
  62.  
  63. '''
  64. 1537942227.6411319
  65. 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)
  66. 2018-09-26 14:10:27
  67. 20180926141027
  68. 180926141027
  69. China Standard Time 14:10:27 180926141027
  70. "Wed Sep 26 14:10:27 2018
  71. '''
  72.  
  73. """
  74. python中时间日期格式化符号:
  75. %y 两位数的年份表示(00-99)
  76. %Y 四位数的年份表示(000-9999)
  77. %m 月份(01-12)
  78. %d 月内中的一天(0-31)
  79. %H 24小时制小时数(0-23)
  80. %I 12小时制小时数(01-12)
  81. %M 分钟数(00=59)
  82. %S 秒(00-59)
  83. %a 本地简化星期名称
  84. %A 本地完整星期名称
  85. %b 本地简化的月份名称
  86. %B 本地完整的月份名称
  87. %c 本地相应的日期表示和时间表示
  88. %j 年内的一天(001-366)
  89. %p 本地A.M.或P.M.的等价符
  90. %U 一年中的星期数(00-53)星期天为星期的开始
  91. %w 星期(0-6),星期天为星期的开始
  92. %W 一年中的星期数(00-53)星期一为星期的开始
  93. %x 本地相应的日期表示
  94. %X 本地相应的时间表示
  95. %Z 当前时区的名称%% %号本身
  96.  
  97. """
  98.  
  99. from time import strftime, localtime
  100. import time
  101. print(time.time())
  102. time1=strftime('%Y-%m-%d %H:%M:%S', localtime())
  103. time2 = strftime('%Y%m%d%H%M%S', localtime())
  104. time3 = strftime('%y%m%d%H%M%S', localtime())
  105. time4 = strftime('%Z %X %y%m%d%H%M%S', localtime())
  106. time5 = strftime('"%a %b %d %H:%M:%S %Y', localtime())
  107. print(localtime())
  108. print(time1)
  109. print(time2)
  110. print(time3)
  111. print(time4)
  112. print(time5)
  113.  
  114. '''
  115. 1537942227.6411319
  116. 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)
  117. 2018-09-26 14:10:27
  118. 20180926141027
  119. 180926141027
  120. China Standard Time 14:10:27 180926141027
  121. "Wed Sep 26 14:10:27 2018
  122. '''
  123.  
  124. """
  125. python中时间日期格式化符号:
  126. %y 两位数的年份表示(00-99)
  127. %Y 四位数的年份表示(000-9999)
  128. %m 月份(01-12)
  129. %d 月内中的一天(0-31)
  130. %H 24小时制小时数(0-23)
  131. %I 12小时制小时数(01-12)
  132. %M 分钟数(00=59)
  133. %S 秒(00-59)
  134. %a 本地简化星期名称
  135. %A 本地完整星期名称
  136. %b 本地简化的月份名称
  137. %B 本地完整的月份名称
  138. %c 本地相应的日期表示和时间表示
  139. %j 年内的一天(001-366)
  140. %p 本地A.M.或P.M.的等价符
  141. %U 一年中的星期数(00-53)星期天为星期的开始
  142. %w 星期(0-6),星期天为星期的开始
  143. %W 一年中的星期数(00-53)星期一为星期的开始
  144. %x 本地相应的日期表示
  145. %X 本地相应的时间表示
  146. %Z 当前时区的名称%% %号本身
  147.  
  148. """

  

Python3入门 Python3+Selenium做UI页面测试的学习的更多相关文章

  1. selenium做UI自动化时,模拟鼠标各种操作的ActionChains的用法

    1.selenium做自动化的时候,需要模拟鼠标进行单击.双击.右键.拖拽等操作,selenium提供了ActionChains类来进行处理. 2.执行原理:当你调用ActionChains的方法时, ...

  2. Python3入门(十)——调试与测试

    一.异常处理 1.try...except...finally... 这个也就是Java里的try...cath..finally...了,直接看经典代码: try: print("开始执行 ...

  3. Python3.x:Selenium中的webdriver进行页面元素定位

    Python3.x:Selenium中的webdriver进行页面元素定位 页面上的元素就像人一样,有各种属性,比如元素名字,元素id,元素属性(class属性,name属性)等等.webdriver ...

  4. Python3.x:selenium获取iframe内嵌页面的源码

    Python3.x:selenium获取iframe内嵌页面的源码 前言 在一些网页中经常会看到ifrmae/frame标签,iframe是嵌入式框架一般用来在已有的页面中嵌入另一个页面,当一个元素在 ...

  5. Python3.x:Selenium+PhantomJS爬取带Ajax、Js的网页

    Python3.x:Selenium+PhantomJS爬取带Ajax.Js的网页 前言 现在很多网站的都大量使用JavaScript,或者使用了Ajax技术.这样在网页加载完成后,url虽然不改变但 ...

  6. Python3入门机器学习经典算法与应用

    <Python3入门机器学习经典算法与应用> 章节第1章 欢迎来到 Python3 玩转机器学习1-1 什么是机器学习1-2 课程涵盖的内容和理念1-3 课程所使用的主要技术栈第2章 机器 ...

  7. python3入门之类

    在面向对象的语言中,类是最重要的一环,python自然拥有类这个机制.python的类机制,与C++,java的区别不是很大,类的大多数的重要特性都被沿用了,一样可以多态,抽象,封装: python3 ...

  8. python3入门之函数

    相信大家学习过其他语言,懂得函数的作用.简单的说函数最好的作用就是可以使程序变得懒惰.python作为后起之秀,当然也会拥有函数这个有用的东西: 创建函数 使用def语句即可创建函数,如创建一个用来生 ...

  9. python3入门之赋值语句介绍

    获得更多资料欢迎进入我的网站或者 csdn或者博客园 本节主要介绍赋值语句,以及几种特殊的赋值.下面附有之前的文章: python3入门之print,import,input介绍 python入门之字 ...

随机推荐

  1. Linux下输出 excel文件

    Linux下输出 excel文件 今日提供给产品需求,需excel文件,故总结要点如下: 1.默认间隔是space_20 2.修改为TAB \t _09 awk '  BEGIN { OFS=&quo ...

  2. Java 安全套接字编程以及keytool 使用最佳实践

    概述 利用 Java 的 JSSE(Java Secure Socket Extension)技术,我们可以方便的编写安全套接字程序,关于 JSSE 的介绍,可以参阅 Oracle 网站提供的 JSS ...

  3. spring总结之二(Bean作用域、依赖注入)

    ### Bean的作用域:单例(singleton),多例(prototype) 1.单例模式:表示在任何地方使用对象,总是一个(对象是唯一的). (笔面试重点) 饿汉式 public class K ...

  4. log4j2笔记 #01# Architecture

    索引 Architecture Main Components Logger Hierarchy LoggerContext Configuration Logger LoggerConfig Fil ...

  5. django实现类似触发器的效果

    https://blog.csdn.net/pushiqiang/article/details/50652080?utm_source=blogxgwz1 https://blog.csdn.net ...

  6. Linux的常用路由配置

    1.配置默认路由 ip route add default via 192.168.10.1 dev eth0 route add default gw 192.168.10.1 2.间接路由: ip ...

  7. 判断PC或mobile设备

    js 限制: <script type="text/javascript"> function uaredirect(f){try{if(document.getEle ...

  8. JAVA的内存模型及结构

    所有的Java开发人员可能会遇到这样的困惑?我该为堆内存设置多大空间呢?OutOfMemoryError的异常到底涉及到运行时数据的哪块区域?该怎么解决呢? Java内存模型 Java内存模型在JVM ...

  9. python之路-day1-while循环

    while Thue: (条件为真无限循环)  break(跳出循环) 猜年龄: #Author:zwwage_of_jay = 40count = 0while count < 3: gues ...

  10. adb驱动安装和使用报错笔记

    adb驱动安装 adb驱动下载地址:https://adb.clockworkmod.com/ 安装时候选择一个容易记住的路径,这个很重要,因为adb驱动没有自动配置环境变量,所以实验时候将adb安装 ...