Python用selenium實(shí)現(xiàn)自動(dòng)登錄和下單的項(xiàng)目實(shí)戰(zhàn)
前言
學(xué)python對selenium應(yīng)該不陌生吧
Selenium 是最廣泛使用的開源 Web UI(用戶界面)自動(dòng)化測試套件之一。Selenium 支持的語言包括C#,Java,Perl,PHP,Python 和 Ruby。目前,Selenium Web 驅(qū)動(dòng)程序最受 Python 和 C#歡迎。
Selenium 測試腳本可以使用任何支持的編程語言進(jìn)行編碼,并且可以直接在大多數(shù)現(xiàn)代 Web 瀏覽器中運(yùn)行。在爬蟲領(lǐng)域 selenium 同樣是一把利器,能夠解決大部分的網(wǎng)頁的反爬問題,但也不是萬能的,它最明顯的缺點(diǎn)就是速度慢。
今天就來看看 咱們應(yīng)該如何實(shí)現(xiàn)簡單的自動(dòng)登錄和下單的腳本
前期準(zhǔn)備
- python 3.8
- pycharm專業(yè)版
- selenium==3.141.0
代碼實(shí)現(xiàn)思路
- 打開瀏覽器
- 輸入網(wǎng)址
- 登陸
- 選擇商品屬性, 點(diǎn)擊立即購買
- 下單
配置瀏覽器驅(qū)動(dòng)
這里以安裝 Chrome 驅(qū)動(dòng)作為演示。但 Chrome 在用 selenium 進(jìn)行自動(dòng)化測試時(shí)還是有部分bug,常規(guī)使用沒什么問題,但如果出現(xiàn)一些很少見的報(bào)錯(cuò),可以使用 Firefox 進(jìn)行嘗試,畢竟是selenium 官方推薦使用的。
確定瀏覽器版本
下載驅(qū)動(dòng)
下載版本相對接近的就行,不用完全一致
將 chromedriver.exe 保存到任意位置,并把當(dāng)前路徑保存到環(huán)境變量中(我的電腦>>右鍵屬性>>高級系統(tǒng)設(shè)置>>高級>>環(huán)境變量>>系統(tǒng)變量>>Path),添加的時(shí)候要注意不要把 path 變量給覆蓋了,如果覆蓋了千萬別關(guān)機(jī),然后百度
測試是否成功
from selenium import webdriver # Chrome瀏覽器 driver = webdriver.Chrome()
代碼實(shí)現(xiàn)
模塊導(dǎo)入
from selenium import webdriver import time
1. 打開瀏覽器
driver = webdriver.Chrome()
2. 輸入網(wǎng)址
url = 'https://*****.com/item.htm?abbucket=9&id=667918031025&rn=30933d864f689e92fec433592f0dc822' driver.get(url) driver.implicitly_wait(10)
3. 登陸(不是經(jīng)常登錄的電腦,需掃碼登錄)
try: iframe = driver.find_element_by_css_selector('iframe') except: iframe = driver.find_element_by_css_selector('#baxia-dialog-content') # 切換到嵌套頁面 driver.switch_to.frame(iframe) 源碼領(lǐng)?。?90643772 # 標(biāo)簽別名 # 匹配到二維碼并且點(diǎn)擊 driver.find_element_by_css_selector('.iconfont.icon-qrcode').click() # 留幾秒鐘 需要登陸 while True: print("###請掃碼登陸###") if driver.title != "商品詳情": break time.sleep(1) print("###登陸成功!!!###")
4. 選擇商品屬性, 點(diǎn)擊立即購買
try: # 選擇商品屬性 driver.find_element_by_css_selector('.skuValueName').click() # 點(diǎn)擊立即購買 driver.find_element_by_css_selector('div>button>span').click() 源碼領(lǐng)?。?90643772 except: # 選擇商品屬性 driver.find_element_by_css_selector('.tm-clear.J_TSaleProp li').click() # 點(diǎn)擊立即購買 driver.find_element_by_css_selector('#J_LinkBuy').click() time.sleep(1) driver.find_element_by_css_selector('.go-btn').click() input()
5. 下單
最簡單的一個(gè)步驟:拿出手機(jī),打開支fu寶,掃碼付錢就行
最后
到此這篇關(guān)于Python用selenium實(shí)現(xiàn)自動(dòng)登錄和下單的項(xiàng)目實(shí)戰(zhàn)的文章就介紹到這了,更多相關(guān)Python selenium自動(dòng)登錄和下單內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python字符串、列表、元組、字典、集合的補(bǔ)充實(shí)例詳解
這篇文章主要介紹了Python字符串、列表、元組、字典、集合,結(jié)合實(shí)例形式詳細(xì)分析了Python字符串、列表、元組、字典、集合常見函數(shù)使用方法及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下2019-12-12淺談Python中用datetime包進(jìn)行對時(shí)間的一些操作
下面小編就為大家?guī)硪黄獪\談Python中用datetime包進(jìn)行對時(shí)間的一些操作。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-06-06編寫Python腳本來獲取Google搜索結(jié)果的示例
這篇文章主要介紹了編寫Python腳本來獲取Google搜索結(jié)果的示例,也是利用Python編寫爬蟲的一個(gè)簡單實(shí)現(xiàn),需要的朋友可以參考下2015-05-05使用 Python 玩轉(zhuǎn) GitHub 的貢獻(xiàn)板(推薦)
這篇文章主要介紹了使用 Python 玩轉(zhuǎn) GitHub 的貢獻(xiàn)板的相關(guān)知識(shí),非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-04-04python取余運(yùn)算符知識(shí)點(diǎn)詳解
在本篇文章中我們給大家整理了關(guān)于python取余運(yùn)算符的寫法以及相關(guān)知識(shí)點(diǎn),有興趣的朋友們可以參考學(xué)習(xí)下。2019-06-06Python爬取數(shù)據(jù)并實(shí)現(xiàn)可視化代碼解析
這篇文章主要介紹了Python爬取數(shù)據(jù)并實(shí)現(xiàn)可視化代碼解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-08-08