狠狠撸
Submit Search
笔测迟丑辞苍で飞别产诲谤颈惫别谤
?
Download as PPTX, PDF
?
4 likes
?
4,314 views
株式会社 システムヨシイ
Follow
Using Python for webdriver.
Read less
Read more
1 of 17
Download now
More Related Content
笔测迟丑辞苍で飞别产诲谤颈惫别谤
1.
PYTHONでWEBDRIVER を使ってみる 2015/1/21 岡山Python勉強会 @k5_yamayama
2.
山手 恵悟(やまやま) @k5_yamayama 岡山の某DBメーカー勤務 ユーザーCE→社内SE→企画開発→ →サーバー管理→営業に至る。 (これってフルスタック…?) 自己紹介
3.
Okayama Engineers Community(通称:OITEC) 運営スタッフやってます。 岡山Python勉強会(通称:おっPy) 立ち上げスタッフ 主催者のはずの“#た”が福山に戻っちゃった で現在は、ほぼ主催者状態。 コミュニティ
4.
はじめに 今回は、SeleniumのWebDriverを使って操作 の自動化について解説します。
5.
注意事項 本セッションは、やまやま個人が調査?検証した 結果を発表するもので、間違いやこれにより損害 が生じても一切責任を負いませんのでご了承くだ さい。
6.
今日の目的とゴール ? 目的 ?Seleniumの仕組みとWebDriverの使 い方を知ってもらう。 ? ゴール ?PythonとWebDriverを使ったWebサ イトの操作自動化を理解してもらう。
7.
Seleniumとは? ? ブラウザの操作を自動化する仕組み ? IDEを使い、操作の自動化や内部解析を行い、結果 を取得/比較することができる。 ?
FireFoxのプラグインとして動作するが他のブラウ ザでも操作可能。 ? WebDriverを使えばIDEを使わずに複数の言語でテ ストを書くことが可能 今回は、WebDriverを使ってテストする部分 について説明します。
8.
まずはインストール ? Selenium IDE ?
FireFoxのプラグインマネージャーにて検索し、インストー ル ? WebDriver ? Pythonのインストール(省略) ? コマンドラインにて以下のコマンドを実行 pip install selenium
9.
動作確認 自動的にブラウザが起動し、指定されたURL表示されたらOK。 # -*- coding:
utf-8 -*- from selenium import webdriver dropbox = webdriver.Firefox() dropbox.get('https://dropbox.com/')
10.
主なデータ取得の種類 主な値の取得メソッド find_element_by_class_name(name)→クラス名の取得 find_element_by_name(name)→エレメント名の取得 find_element_by_tag_name(name)→タグ名の取得 find_element_by_link_text(link_text)→リンクの取得 find_element_by_xpath(xpath)→xpathによる指定部分の取得 では、実際に取得するには?
11.
Dropboxログイン画面文字を取得する 指定されたelementのテキストを取得 # -*- coding:
utf-8 -*- from selenium import webdriver import codecs,sys sys.stdout = codecs.getwriter('cp932')(sys.stdout) dropbox = webdriver.Firefox() dropbox.get('https://dropbox.com/') d = dropbox.find_elements_by_class_name("subtitle") print d[0].text dropbox.quit() 指定のエレメントがリストで 帰ってくる
12.
操作系の処理 主な操作系メソッド find_element_by_xpath(path).send_keys(‘aaa’) →取得した内容に文字列をセット find_element_by_xpath(path).click() →取得した内容をクリック では、実際にコードは?
13.
Dropboxに自動的にログインする # -*- coding:
utf-8 -*- from selenium import webdriver import time import settings dropbox = webdriver.Firefox() dropbox.get('https://www.dropbox.com/login') time.sleep(5) dropbox.find_element_by_xpath( '//input[@class="text-input-input autofocus"]') .send_keys(settings.DROPBOX_ID) time.sleep(2) dropbox.find_element_by_xpath( '//input[@class="password-input text-input-input"]') .send_keys(settings.DROPBOX_PWD) time.sleep(2) dropbox.find_element_by_xpath( '//button[@type="submit"]').click()
14.
使ってみた所感 ? 自動化スクリプト便利! ? ブラウザごとにドライバを変更すればいけるので ちょこっとブラウザ確認するときは楽。 ?
HTMLの解析にデベロッパーツール必須。 ? Findする際は、Xpath指定したほうがクリティカル にtagを取得しやすい感じがする。 ? IEは一応動くが… ? 日本語の比較などを行うときは注意が必要
15.
まとめ ? 自動化やUIテストを行うときは比較的容易に利用が できる。 ? HTMLの作りにより処理内容が左右される。 ?
操作や処理がわからない場合は、SeleniumのIDE を使えばある程度の処理は理解できる。 ? 読み込みリソースが多い場合は、処理が間に合わな い場合があるので注意が必要。
16.
参考URL Selenium site http://www.seleniumhq.org/ Selenium document http://docs.seleniumhq.org/projects/webdriver/
17.
ご清聴ありがとうございまし た。
Download