安裝:
pip install selenium
Chrome瀏覽器驅動的安裝
http://npm.taobao.org/mirrors/chromedriver/
下載對應版本的瀏覽器驅動
解壓后得到驅動的可執行檔案
將其拷貝到任意環境變數目錄
$ echo $PATH 查看環境變數路徑
庫的匯入 from selenium import webdriver
創建瀏覽器物件 driver = webdriver.Chrome()
使用dir(driver)查看方法
加載網頁: driver.get("http://www.baidu.com/")
簡單操作:
driver.maximize_window() 最大化
driver.close() 關閉當前標簽/視窗
driver.quit() 關閉所有標簽/視窗
driver.save_screenshot("baidu.png") 保存頁面快照
定位和操作:
driver.find_element_by_xpath(“//...../...”)
driver.find_element_by_id(“usename”)
查看請求資訊:
driver.page_source 獲取原始碼
driver.get_cookies() 獲取瀏覽器中存盤的cookies
driver.current_url 查看當前url
driver.title 查看當前標簽的標題
從定位到的元素中提取資料的方法
el.get_attribute(key) 獲取key屬性名對應的屬性值
el.text 獲取開閉標簽之間的文本內容
對定位到的元素的操作
el.click() 對元素執行點擊操作
el.submit() 對元素執行提交操作
el.clear() 清空可輸入元素中的資料
el.send_keys(data) 向可輸入元素輸入資料
自動登錄搶商品(票等) 舉例:
京東秒殺 練習
import time from selenium import webdriver driver = webdriver.Chrome() driver.get("https://miaosha.jd.com/") driver.implicitly_wait(5)
#驗證是否登錄 try: user = driver.find_element_by_xpath('//*[@id="ttbar-login"]/div[1]/a') except: driver.find_element_by_xpath('//*[@id="ttbar-login"]/a[1]').click() handles_list = driver.window_handles driver.switch_to.window(handles_list[-1]) t = 0 while True: try: user = driver.find_element_by_xpath('//*[@id="ttbar-login"]/div[1]/a') except: #等待掃瑪登錄 t+=1 print(t) continue #賬號登陸 # driver.find_element_by_xpath('//*[@id="content"]/div[2]/div[1]/div/div[3]/a').click() # time.sleep(5) # driver.find_element_by_id("loginname").send_keys('12345678910') # driver.find_element_by_id("nloginpwd").send_keys('12345678910') # time.sleep(5) # driver.find_element_by_id("loginsubmit").click() break print('--------------------------------------') n = 0 while True: now_time = driver.find_element_by_xpath('//*[@id="timeline"]/div/ul/li[1]/a/div/div[1]/i').text
if now_time == '18:00': nead_good = driver.find_element_by_xpath('//*[@id="super_seckill"]/div/ul/li[1]/div/a') if nead_good.text == '立即搶購': nead_good.click() handles_list = driver.window_handles driver.switch_to.window(handles_list[-1]) driver.find_element_by_id("InitCartUrl").click() driver.implicitly_wait(5) driver.quit() break time.sleep(5) n += 1 print(n)
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/184363.html
標籤:其他
上一篇:selenium 自動化工具
