国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

selenium+python實現自動化登錄的方法

2020-01-04 14:35:32
字體:
來源:轉載
供稿:網友

Selenium Python 提供了一個簡單的API 便于我們使用 Selenium WebDriver編寫 功能/驗收測試。 通過Selenium Python的API,你可以直觀地使用所有的 Selenium WebDriver 功能 。Selenium Python提供了一個很方便的接口來驅動 Selenium WebDriver , 例如Firefox、Chrome、Ie,以及Remote,目前支持的python版本有2.7或3.2以上.

selenium 可以自動化測試、搶票、爬蟲等工作。初次了解,現在模擬登錄百度——即自動打開瀏覽器、自動輸入賬號密碼并提交進行登錄。

工作需要實現一個微博自動登錄的操作,在網上差了一些資料,決定使用selenium+python實現

selenium 是一個web的自動化測試工具,主流一般配合java或者python使用,我這里使用的是python,可支持的瀏覽器基本包括所有主流瀏覽器IE、Mozilla Firefox、Google Chrome。

安裝過程不再贅述,但是后續使用時,發現很多報錯與版本兼容性有關,因此這里列出可用的版本搭配:

python2.7

selenium3.0.2

火狐驅動geckodriver.exe  版本v0.14.0  (使用高版本會出現異常報錯)

火狐瀏覽器52.0.2 (32 位)  (版本太低或53的最新版本,都會報錯)

#encoding=utf-8from selenium import webdriver import time import os#模擬登陸weibo def getCookies(weibo):  """ 獲取Cookies """  cookies = []  driver = webdriver.Firefox()  time.sleep(3)  #sleep一下,否則有可能報錯  driver.get("https://weibo.com/login/")  #cur_path=os.getcwd()  #fileSuc = open(cur_path+"/login.html", 'w')  #fileSuc.write(driver.page_source)  #用戶名 密碼   elem_user = driver.find_element_by_xpath('//input[@id="loginname"]')   elem_user.send_keys('*****@163.com') #瀏覽器版本不匹配的時候這里可能報錯  elem_pwd = driver.find_element_by_xpath('//input[@type="password"]')  elem_pwd.send_keys('*****')    commit = driver.find_element_by_xpath('//a[@node-type="submitBtn"]')  commit.click()  time.sleep(3)  #fileSuc1 = open(cur_path+"/weibo2.html", 'w')  #fileSuc1.write(driver.page_source)  #print driver.title   #登錄成功后獲取cookie  cookie = {}  if "微博-隨時隨地發現新鮮事" in driver.title:    for elem in driver.get_cookies():      cookie[elem["name"]] = elem["value"]    if len(cookie) > 0:      logger.warning("Get Cookie Successful: %s" % account)      cookies.append(cookie)      continue  else:    logger.warning("Get Cookie Failed: %s!" % account)    driver.close()   driver.quit()   return cookiescookies = getCookies(myWeiBo)print cookieslogger.warning("Get Cookies Finish!( Num:%d)" % len(cookies))

find_element_by_xpath用來定位控件的位置,定位不到的時候,可以把網頁的代碼保存下來看看是否有對應的控件,如果是安全控件或者登錄在js里實現,這種方法是獲取不到的。

另外還有find_element_by_name、find_element_by_id的方法,但是我使用的時候出現找不到情況,懷疑是瀏覽器版本不匹配的原因。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。


注:相關教程知識閱讀請移步到python教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 九江市| 山东省| 武汉市| 曲周县| 富阳市| 永善县| 天长市| 大埔县| 临漳县| 新蔡县| 南和县| 鄂伦春自治旗| 那坡县| 昭苏县| 辽阳市| 泸西县| 新兴县| 钟祥市| 五台县| 德格县| 邹城市| 建瓯市| 苗栗市| 东明县| 札达县| 洪泽县| 舞钢市| 师宗县| 榆树市| 航空| 高雄县| 易门县| 绵阳市| 丰都县| 防城港市| 招远市| 九龙坡区| 明溪县| 获嘉县| 恩施市| 白水县|