日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

selenium操作cookies实现免密登录,自动发微博

發布時間:2023/12/18 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 selenium操作cookies实现免密登录,自动发微博 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一直想用selenium實現個小功能,比如發微博之類的,但是有的網站在登錄會有驗證碼,沒想到太好的方法解決,于是想到利用cookies來登錄網站

第一步:獲取一個可用的cookies,獲取的cookies會保存為一個json格式的文件。不過在打開網站后,登錄操作需要自己手動進行一下,代碼中有注釋,大家可以注意一下,代碼如下:

#!/usr/bin/python #coding=utf-8from selenium import webdriver import time import jsondef get_cookies(test_url):#保存cookies的文件file = 'cookies.json'#打開需要獲取cookies的網站driver = webdriver.Firefox()driver.implicitly_wait(5)driver.get(test_url)driver.maximize_window()#網站打開后,在時間內手動執行登錄操作time.sleep(60)#登錄成功后,獲取cookies并保存為json格式cookies = driver.get_cookies()fp = open(file,'w')json.dump(cookies,fp)fp.close()#關閉瀏覽器 driver.close()if __name__ == "__main__":url = raw_input('please input url:')get_cookies(url)

第二步:利用cookies登錄網站,先打開要登錄的網站,然后將cookies從之前保存的json文件讀取出來,然后添加到瀏覽器,刷新界面,即可實現登錄,然后便可以進行發微博的操作,具體元素定位,請大家百度selenium的一些基本用法,此處不再贅述。代碼中也給出了不打開瀏覽器的方式來實現功能。

代碼如下:

#!/usr/bin/python #coding=utf-8from selenium import webdriver import json import timefile = 'cookies.json' #打開瀏覽器,若不想打開瀏覽器運行腳本,可以使用下面注釋掉的方法 driver = webdriver.Firefox()#以headless模式運行腳本,可以實現不打開瀏覽器對網站進行操作 #option = webdriver.FirefoxOptions() #option.add_argument(argument='-headless') #driver = webdriver.Firefox(firefox_options=option)#打開網址 def open_url(url):driver.get(url)driver.implicitly_wait(5)driver.maximize_window()#向瀏覽器添加保存的cookies def add_cookies():fp = open(file,'r')cookies = json.load(fp)fp.close()for cookie in cookies:driver.add_cookie(cookie)if __name__ == "__main__":#輸入要打開的網站并打開test_url = raw_input('please input url:')open_url(test_url)time.sleep(5)#添加cookies后刷新界面,實現免密登錄add_cookies()driver.refresh()# 發送微博#定位到微博輸入框,點擊輸入框driver.find_element_by_xpath("//textarea[@class='W_input']").click()time.sleep(2)#輸入需要發送的內容driver.find_element_by_xpath("//textarea[@class='W_input']").send_keys('Test message')time.sleep(3)#關閉瀏覽器driver.close()

  

?

轉載于:https://www.cnblogs.com/zhazi/p/11315818.html

總結

以上是生活随笔為你收集整理的selenium操作cookies实现免密登录,自动发微博的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。