溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Python多頁簽自動(dòng)化登錄

發(fā)布時(shí)間:2020-08-05 20:09:41 來源:網(wǎng)絡(luò) 閱讀:408 作者:moakia 欄目:編程語言
Python多頁簽自動(dòng)化登錄

? 自己管理了好幾個(gè)系統(tǒng),雖然實(shí)現(xiàn)自動(dòng)監(jiān)控報(bào)警,但是還還想要人工檢查。為了提高效率,現(xiàn)在寫了一個(gè)腳本實(shí)現(xiàn)多個(gè)系統(tǒng)的自動(dòng)化登錄。

腳本選擇:
  • 開始想用bat實(shí)現(xiàn),發(fā)現(xiàn)走不通,賬號和密碼登錄認(rèn)證的方式無法解決。有方法的小伙伴可以推薦。
  • 后面使用python實(shí)現(xiàn),主要是方案成熟,可參考案例多啊。
瀏覽器選擇

? chrome瀏覽器:因?yàn)榱?xí)慣了。

事前準(zhǔn)備
  • 安裝python: 機(jī)器已裝python3.6.2

  • 安裝selenium: pip install selenium

  • 安裝webdriver插件:選擇chrome版本對應(yīng)的webdriver( http://chromedriver.chromium.org/downloads ),解壓至相關(guān)目錄下。

    目的
    • 自動(dòng)輸入賬號和密碼認(rèn)證,實(shí)現(xiàn)自動(dòng)登錄。

    • 同時(shí)打開多個(gè)系統(tǒng),在一個(gè)chrome瀏覽器下打開多頁簽。
    腳本實(shí)現(xiàn):
    
    import  os
    from  selenium import  webdriver
    from selenium.webdriver.common.keys import Keys
    chromedriver = "I:\webdriver\chromedriver.exe"
    os.environ["webdriver.chrome.driver"] = chromedriver
    driver = webdriver.Chrome(chromedriver)       # 聲明瀏覽器對象
    
    username = "admin"
    username1 = "root"
    password = "xxxxyyyy1111"
    password1 = "xxxxyyyy2222"
    
    #1.管理系統(tǒng)
    driver.get("https://192.168.21.6/login/login.htm")
    driver.find_element_by_id("username").send_keys(username)  //driver.find_element_by_id("username") 查找id方式
    driver.find_element_by_id("password").send_keys(password2)
    driver.find_element_by_xpath('//*[@id="form"]/form/div[5]/input').click() //driver.find_element_by_xpath 查找xpath方式
    #2.管理系統(tǒng)1
    driver.execute_script("window.open();")
    
    driver.switch_to.window(driver.window_handles[1])
    driver.get("https://192.168.21.7/zh_cn/")
    driver.find_element_by_xpath('//*[@id="hs_login_tbl"]/tbody/tr[1]/td[2]/input').send_keys(username1)
    driver.find_element_by_xpath('//*[@id="hs_login_tbl"]/tbody/tr[2]/td[2]/input').send_keys(password1)
    

    ? 注解:

    driver.execute_script("window.open();")
    
    driver.switch_to.window(driver.window_handles[1])
    handles[] 中的數(shù)字代表打開第幾個(gè)頁簽,如果后面還有管理系統(tǒng),填寫handles[2]。從0開始計(jì)數(shù),代表打開第三個(gè)頁簽。
    重點(diǎn)說明:
    • xpath的使用

    ? 每個(gè)網(wǎng)站使用的框架不同,但是xpath很容易確定路徑,解決問題。

    ? 基本說明下:

    ? 1.打開網(wǎng)頁,按F12調(diào)出開發(fā)者工具,選到Elements頁面。

    ? 2.點(diǎn)擊頁面中的輸入框,此時(shí)開發(fā)者頁面定為到所在代碼行。

    ? 3.右鍵代碼選擇COPY-選擇copy xpath。

    ? 4.復(fù)制粘貼到代碼即可。

    • chrome多頁面的打開

    請參考“文檔參考”

    先打開了一個(gè)chrome瀏覽器,自動(dòng)輸入賬號和密碼,再打開一個(gè)新的頁簽,切換到新的頁簽,自動(dòng)輸入賬號和密碼,以此往復(fù)。

    文檔參考:

    大型網(wǎng)站模擬登錄

    chrome中打開多頁簽

    使用python+selenium實(shí)現(xiàn)瀏覽器自動(dòng)登錄

?

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI