Python里面使用Selenium是一個很重要的自動化測試模塊,我們可以用它寫一個驗證登錄腳本,有了這個可以用來保存cookie信息等,下面是一個簡單的demo:文章來源地址http://www.zghlxwxcb.cn/news/detail-552982.html
from selenium import webdriver
from selenium.webdriver.common.by import By #用于定位class元素
from selenium.webdriver.support.ui import WebDriverWait #等待
from selenium.webdriver.support import expected_conditions as EC #執(zhí)行條件
import time
#我們可以把賬號密碼放在txt文件中,用||分隔
with open(filename.txt,'r') as f:
account=f.read().split('||')
name=account[0]
password=account[1]
#1.創(chuàng)建瀏覽器對象
options=webdriver.EdgeOptions()
options.headless=True#無頭瀏模式
#以下設置可以將模擬瀏覽器偽裝成自己常用的瀏覽器
prefs={'profile.default_content_settings_popups':0}
options.add_experimental_option('prefs',prefs)
options.add_argument(r"--user-data-dir=D:\Users\zhangsanlisi\AppData\Local\Microsoft\Edge\User Data copy") # 設置成用戶自己的數據目錄,這里有個坑,需要把自己的瀏覽器用戶目錄的東西復制一份改個名字設置到這里引用,否則會報錯
web =webdriver.Edge(options=options)
html=web.get('https://xxxx.sod.com/sse/login')
WebDriverWait(web, 10).until(EC.presence_of_element_located((By.XPATH, "http://div//input[@id='username']")) #獲取帶有input標簽,并給與網頁最大10秒的加載時間
).clear()
WebDriverWait(web, 10).until(EC.presence_of_element_located((By.XPATH, "http://div//input[@id='username']")) #獲
).send_keys(name)
WebDriverWait(web, 10).until(EC.presence_of_element_located((By.XPATH, "http://div//input[@id='password']"))
).clear()
WebDriverWait(web, 10).until(EC.presence_of_element_located((By.XPATH, "http://div//input[@id='password']"))
).send_keys(password)
WebDriverWait(web, 10).until(EC.presence_of_element_located((By.XPATH, "http://div//input[@id='formsubmitButton']"))
).click()
time.sleep(5)
#2.打開網址
web.get('http://xxxx.ewdt.com/')
#把獲取到的cookie連接起來保存?zhèn)溆?/span>
cookie='; '.join([(i['name']+'='+i['value']) for i in web.get_cookies()])
with open('cookie.txt','w') as f:
f.write(cookie)
web.close()
print('cookie已更新')
文章來源:http://www.zghlxwxcb.cn/news/detail-552982.html
到了這里,關于Python利用Selenium實現自動化驗證登錄的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!