關閉

                  Python selenium 實現簡單的自動登錄、下單腳本

                  發表于:2023-3-17 09:12

                  字體: | 上一篇 | 下一篇 | 我要投稿

                   作者:路人    來源:知乎

                    前言
                    Selenium 是最廣泛使用的開源 Web UI(用戶界面)自動化測試套件之一。Selenium 支持的語言包括C#,Java,Perl,PHP,PythonRuby。目前,Selenium Web 驅動程序最受 Python 和 C#歡迎。
                    Selenium 測試腳本可以使用任何支持的編程語言進行編碼,并且可以直接在大多數現代 Web 瀏覽器中運行。在爬蟲領域 selenium 同樣是一把利器,能夠解決大部分的網頁的反爬問題,但也不是萬能的,它最明顯的缺點就是速度慢。
                    開發環境
                    · python 3.8
                    ·pycharm專業版
                    · selenium==3.141.0(谷歌驅動的安裝和配置)
                    代碼實現思路
                    1. 打開瀏覽器
                    2. 輸入網址
                    3. 登陸
                    4. 選擇商品屬性, 點擊立即購買
                    5. 下單
                    配置瀏覽器驅動
                    這里以安裝 Chrome 驅動作為演示。但 Chrome 在用 selenium 進行自動化測試時還是有部分 bug,常規使用沒什么問題,但如果出現一些很少見的報錯,可以使用 Firefox 進行嘗試,畢竟是selenium 官方推薦使用的。
                    確定瀏覽器版本
                    下載驅動
                    下載版本相對接近的就行,不用完全一致。
                    將 chromedriver.exe 保存到任意位置,并把當前路徑保存到環境變量中(我的電腦>>右鍵屬性>>高級系統設置>>高級>>環境變量>>系統變量>>Path),添加的時候要注意不要把 path 變量給覆蓋了,如果覆蓋了千萬別關機,然后百度
                    測試是否成功
                    from selenium import webdriver
                    # Chrome瀏覽器
                    driver = webdriver.Chrome()
                    代碼實現
                    模塊導入
                    from selenium import webdriver
                    import time
                    1. 打開瀏覽器
                    driver = webdriver.Chrome()
                    2. 輸入網址
                    url = 'https://detail.tmall.com/item.htm?abbucket=9&id=667918031025&rn=30933d864f689e92fec433592f0dc822'
                    driver.get(url)
                    driver.implicitly_wait(10)
                    3. 登陸(不是經常登錄的電腦,需掃碼登錄)
                    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)
                    # 標簽別名
                    # 匹配到二維碼并且點擊
                    driver.find_element_by_css_selector('.iconfont.icon-qrcode').click()
                    # 留幾秒鐘 需要登陸
                    while True:
                        print("###請掃碼登陸###")
                        if driver.title != "商品詳情":
                            break
                        time.sleep(1)
                    print("###登陸成功!!!###")
                    4. 選擇商品屬性, 點擊立即購買
                    try:
                        # 選擇商品屬性
                        driver.find_element_by_css_selector('.skuValueName').click()
                        # 點擊立即購買
                        driver.find_element_by_css_selector('div>button>span').click()
                    except:
                        # 選擇商品屬性
                        driver.find_element_by_css_selector('.tm-clear.J_TSaleProp li').click()
                        # 點擊立即購買
                        driver.find_element_by_css_selector('#J_LinkBuy').click()
                    time.sleep(1)
                    driver.find_element_by_css_selector('.go-btn').click()
                    input()
                    5. 下單
                    最簡單的一個步驟:拿出手機,打開支付寶,掃碼付錢就行。
                    本文內容不用于商業目的,如涉及知識產權問題,請權利人聯系51Testing小編(021-64471599-8017),我們將立即處理
                  《2023軟件測試行業現狀調查報告》獨家發布~

                  關注51Testing

                  聯系我們

                  快捷面板 站點地圖 聯系我們 廣告服務 關于我們 站長統計 發展歷程

                  法律顧問:上海蘭迪律師事務所 項棋律師
                  版權所有 上海博為峰軟件技術股份有限公司 Copyright©51testing.com 2003-2024
                  投訴及意見反饋:webmaster@51testing.com; 業務聯系:service@51testing.com 021-64471599-8017

                  滬ICP備05003035號

                  滬公網安備 31010102002173號

                  亚洲欧洲自拍图片专区123_久久久精品人妻无码专区不卡_青青精品视频国产色天使_A免看的日黄亚洲