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 當前時區的名稱%% %號本身 """