国产探花免费观看_亚洲丰满少妇自慰呻吟_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的方法,但是我使用的時候出現找不到情況,懷疑是瀏覽器版本不匹配的原因。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 文成县| 龙州县| 东阿县| 镇雄县| 洛扎县| 云龙县| 寿光市| 神农架林区| 西畴县| 望奎县| 攀枝花市| 屏东市| 宝清县| 沙坪坝区| 电白县| 雷波县| 桑植县| 开平市| 湛江市| 廊坊市| 紫云| 西华县| 东乡县| 玉田县| 河源市| 洛扎县| 罗城| 浪卡子县| 涪陵区| 大悟县| 施甸县| 新龙县| 余庆县| 丁青县| 德令哈市| 天水市| 平阳县| 治多县| 长汀县| 慈利县| 香港 |