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

首頁 > 編程 > Python > 正文

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

2020-02-15 22:53:24
字體:
來源:轉載
供稿:網友

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的方法,但是我使用的時候出現找不到情況,懷疑是瀏覽器版本不匹配的原因。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 沙洋县| 乐都县| 什邡市| 苏尼特左旗| 阳曲县| 文成县| 武穴市| 策勒县| 西青区| 定陶县| 玉环县| 通州市| 信阳市| 衡阳县| 卓尼县| 井研县| 长葛市| 揭西县| 临漳县| 永州市| 阿克| 江都市| 沾益县| 东港市| 江津市| 琼结县| 介休市| 绍兴市| 乡宁县| 莲花县| 丹阳市| 仙居县| 阿图什市| 布尔津县| 宣汉县| 隆德县| 文化| 宁海县| 苏州市| 长葛市| 太康县|