クッキーのセレンのない動作が密ログインを達成するため、自動マイクロボー

常に、このようなマイクロボーなどのセレンと小さな機能を実現したかったが、いくつかのサイトにログインするために確認コードを持って、私は非常に良い解決策を期待し、そのウェブサイトを訪問するためにクッキーを使用して考えていませんでした

最初のステップ:利用できるクッキーは、クッキーがJSONファイル形式として保存されますゲット。しかし、ウェブサイトを開いた後、コード内のコメントは、私たちが注意することができますがあり、手動で操作するには、独自の外観を必要とログイン次のように、:

は/ usr / binに/ Pythonの!
#のコーディング= UTF-8 

からのセレンのインポートwebdriverを
 インポート時間
 インポートJSON 

DEFのGET_COOKIES(test_url):
    、クッキーファイルの保存 
    =ファイルを' cookies.json ' 
    オープンサイト得るためにクッキーを必要と 
    ドライバーを= webdriverを.Firefox()
    driver.implicitly_wait( 5 
    driver.get(test_url)
    driver.maximize_window() 
    サイトがオープンした後、手動で時刻の間に操作をログに実行 
    time.sleep(60 #を、ログイン成功後のクッキーを取得し、JSONとして保存フォーマット 
    クッキー=driver.get_cookies()
    FP =オープン(ファイル、' W ' 
    json.dump(クッキー、FP)
    fp.close() 
    关闭浏览器
    driver.close()

の場合 __name__ == " __main__ " 
    URL = raw_input(" 入力URLを喜ば:" 
    GET_COOKIES(URL)

ステップ2:、ウェブサイトを訪問最初に登録するサイトを開き、前のJSONから保存されたクッキーが出てファイルを読み、その後、ブラウザに追加し、インターフェイスをリフレッシュ、あなたが達成するためにログオンすることができ、その後、彼らはそれを行うことができクッキーを使用操作は、特定の要素のターゲット、ここではそれらを繰り返さない、セレンのいくつかの基本的な使い方をBaiduのしてください。コードはまた、機能を実現する道を開くしていないブラウザを提供します。

コードは以下の通りであります:

!は/ usr / binに/ Pythonの
#のコーディング= UTF-8 

からのセレンのインポートwebdriverを
 インポートJSON
 のインポート時の

ファイル = cookies.json 
#は、スクリプトを実行するには、ブラウザを開くにはしたくない場合は、あなたがコメントアウトするには、次のように使用することができ、ブラウザを開き 
、ドライバを= webdriver.Firefox() 

ヘッドレスモードのスクリプトでは、Webサイト上でブラウザを開くことなく実現することができる操作オプション= webdriver.FirefoxOptions() option.add_argument(引数= ' -ヘッドレス') ドライバー= webdriver.Firefoxを(オプション= firefox_options) 

オープンURL 
DEF OPEN_URLrequest 1(URL):
    driver.get(URL)
    driver.implicitly_wait(5 
    driver.maximize_window() 

は、ブラウザに保存されたクッキーを追加
DEFのADD_COOKIES():
    FP =オープン(ファイル、' R ' 
    クッキー = json.load(FP)
    fp.close()
    のためにクッキークッキー:
        ドライバー。 add_cookie(クッキー)   

IF  __name__ == " __main__ " Webサイトとオープン開くように入力します 
    test_url = raw_input(' してください入力されたURL:' 
    OPEN_URLrequest 1(test_url)を
    time.sleep( 5 インタフェースをリフレッシュするためにクッキーを追加した後、ハンズフリー密集ログインできます
    (ADD_COOKIES)を
    driver.refresh() 
    送信マイクロブロギング
    マイクロブログの入力ボックスを見つけ、入力ボックスをクリックし 
    driver.find_element_by_xpath(// TextAreaの[クラス@ = 『W_input』] ).click()
    (time.sleep 2 #1 の内容は、入力送信する必要 
    driver.find_element_by_xpath(" //のTextArea [@クラス= 'W_input'] ").send_keys(' テストメッセージ' 
    time.sleepを( 3 送信ボタンをクリックしてください 
    driver.find_elementを

 

おすすめ

転載: www.cnblogs.com/zhazi/p/11315818.html