1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

PythonのSelenuimを用いてアカウントログイン

Posted at

#はじめに
この記事ではPythonのSeleniumを使用してQiitaのアカウントにログインしようと思います。
##開発環境
macOS BigSur Ver11.6
Python2.7.18
VisualStudioCode 1.58.2
##事前準備
まずSeleniumが必要なためpipを使用しインストールしてください。

terminal
pip3 install selenium

次にChromeDriverをインストールします。これはスクレイピングの際に使用するものです。Chromeの種のような感じです。

#開発
まずQiitaのログインは https://qiita.com/login?redirect_to=%2F から行うことができます。以下の手順となります。
1,メールアドレスを入力
2,パスワードを入力
3,ログインを押す
これをseleniumを使用し再現します。

login.py
from selenium import webdriver

driver = webdriver.Chrome('絶対パス')
driver.get('https://qiita.com/login?redirect_to=%2F')

絶対パスにはChromeDriverの絶対パスを入力します。これで実行するとログインフォームが開くはずです。
次にログインフォームのメール欄・パスワード欄・ボタンのhtmlをみましょう。

mail
<input type="text" name="identity" id="identity" placeholder="ユーザー名 または メールアドレス" autofocus="autofocus" class="form-control">
password
<input type="password" name="password" id="password" placeholder="パスワード" class="form-control">
button
<input type="submit" name="commit" value="Qiita にログイン" class="btn btn-primary btn-block btn-lg loginSessionsForm_submit" data-disable-with="ログイン">

注目するのはそれぞれのname=''です。それぞれidentity,password,commitになってるのが確認できると思います。その要素を作成し、入力・クリックをします。

login.py
from selenium import webdriver

driver = webdriver.Chrome('絶対パス')
driver.get('https://qiita.com/login?redirect_to=%2F')

time.sleep(1)

mail = driver.find_element_by_name('identity')
password = driver.find_element_by_name('password')
button = driver.find_element_by_name('commit')

mail.send_keys('mail')
password.send_keys('password')
button.click()

mail,passwordにはQittaのメールアドレス、パスワードをそれぞれ入れれください。
##コードの解説

code1.py
mail = driver.find_element_by_name('identity')
password = driver.find_element_by_name('password')
button = driver.find_element_by_name('commit')

ここではそれぞれの要素をnameで作成します。

code2.py
mail.send_keys('mail')
password.send_keys('password')
button.click()

順に、メールを打つ、パスワードを打つ、ログインボタンをクリックするです。

#おわりに
いかがだったでしょうか?スクレイピングは初めてでした。これを応用すればいろいろなことに使えますね。他のスクレイピングも紹介できたらと思います!

by Py_r

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?