Python用selenium實(shí)現(xiàn)自動(dòng)登錄和下單的項(xiàng)目實(shí)戰(zhàn)
前言
學(xué)python對(duì)selenium應(yīng)該不陌生吧
Selenium 是最廣泛使用的開源 Web UI(用戶界面)自動(dòng)化測(cè)試套件之一。Selenium 支持的語(yǔ)言包括C#,Java,Perl,PHP,Python 和 Ruby。目前,Selenium Web 驅(qū)動(dòng)程序最受 Python 和 C#歡迎。
Selenium 測(cè)試腳本可以使用任何支持的編程語(yǔ)言進(jìn)行編碼,并且可以直接在大多數(shù)現(xiàn)代 Web 瀏覽器中運(yùn)行。在爬蟲領(lǐng)域 selenium 同樣是一把利器,能夠解決大部分的網(wǎng)頁(yè)的反爬問題,但也不是萬(wàn)能的,它最明顯的缺點(diǎn)就是速度慢。
今天就來看看 咱們應(yīng)該如何實(shí)現(xiàn)簡(jiǎn)單的自動(dòng)登錄和下單的腳本
前期準(zhǔn)備
- python 3.8
- pycharm專業(yè)版
- selenium==3.141.0
代碼實(shí)現(xiàn)思路
- 打開瀏覽器
- 輸入網(wǎng)址
- 登陸
- 選擇商品屬性, 點(diǎn)擊立即購(gòu)買
- 下單
配置瀏覽器驅(qū)動(dòng)
這里以安裝 Chrome 驅(qū)動(dòng)作為演示。但 Chrome 在用 selenium 進(jìn)行自動(dòng)化測(cè)試時(shí)還是有部分bug,常規(guī)使用沒什么問題,但如果出現(xiàn)一些很少見的報(bào)錯(cuò),可以使用 Firefox 進(jìn)行嘗試,畢竟是selenium 官方推薦使用的。
確定瀏覽器版本

下載驅(qū)動(dòng)
下載版本相對(duì)接近的就行,不用完全一致


將 chromedriver.exe 保存到任意位置,并把當(dāng)前路徑保存到環(huán)境變量中(我的電腦>>右鍵屬性>>高級(jí)系統(tǒng)設(shè)置>>高級(jí)>>環(huán)境變量>>系統(tǒng)變量>>Path),添加的時(shí)候要注意不要把 path 變量給覆蓋了,如果覆蓋了千萬(wàn)別關(guān)機(jī),然后百度
測(cè)試是否成功
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')
# 切換到嵌套頁(yè)面
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("###請(qǐng)掃碼登陸###")
if driver.title != "商品詳情":
break
time.sleep(1)
print("###登陸成功!!!###")
4. 選擇商品屬性, 點(diǎn)擊立即購(gòu)買
try:
# 選擇商品屬性
driver.find_element_by_css_selector('.skuValueName').click()
# 點(diǎn)擊立即購(gòu)買
driver.find_element_by_css_selector('div>button>span').click()
源碼領(lǐng)取:690643772
except:
# 選擇商品屬性
driver.find_element_by_css_selector('.tm-clear.J_TSaleProp li').click()
# 點(diǎn)擊立即購(gòu)買
driver.find_element_by_css_selector('#J_LinkBuy').click()
time.sleep(1)
driver.find_element_by_css_selector('.go-btn').click()
input()
5. 下單
最簡(jiǎn)單的一個(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)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
詳解Python中數(shù)據(jù)類型的轉(zhuǎn)換
這篇文章主要為大家詳細(xì)介紹了Python中數(shù)據(jù)類型轉(zhuǎn)換的相關(guān)資料,文中的示例代碼講解詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴可以了解一下2023-03-03
Python實(shí)現(xiàn)簡(jiǎn)單的語(yǔ)音識(shí)別系統(tǒng)
這篇文章主要介紹了Python實(shí)現(xiàn)簡(jiǎn)單的語(yǔ)音識(shí)別系統(tǒng),具有一定借鑒價(jià)值,需要的朋友可以參考下。2017-12-12
一文帶你掌握Pyecharts地理數(shù)據(jù)可視化的方法
這篇文章主要介紹了一文帶你掌握Pyecharts地理數(shù)據(jù)可視化的方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-02-02
解決Python內(nèi)層for循環(huán)如何break出外層的循環(huán)的問題
今天小編就為大家分享一篇解決Python內(nèi)層for循環(huán)如何break出外層的循環(huán)的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-06-06
Python基于opencv的簡(jiǎn)單圖像輪廓形狀識(shí)別(全網(wǎng)最簡(jiǎn)單最少代碼)
這篇文章主要介紹了基于opencv的簡(jiǎn)單圖像輪廓形狀識(shí)別(全網(wǎng)最簡(jiǎn)單最少代碼),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-01-01

