Selenium
の編集
[
トップ
] [
編集
|
差分
|
バックアップ
|
添付
|
リロード
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
-- 雛形とするページ --
12GW
AutoTicketLinkName
Comments/一行日記
DNSサービス
Excel小技メモ
FMV-S8210
FreeBSD
FreeBSDマニュアル
FreeNASマニュアル/02ネットワーク
FreeNASマニュアル/05アクセス
FreeNASマニュアル/09ヘルプ
FreeNAS公開
Gentoo_Linux
Help/Plugin
Help/Plugin/E
Help/Plugin/H
Help/Plugin/K
Help/Plugin/S
Help/Plugin/Y
imgboardR7 掲示板
InterWikiSandBox
Linux入門
MariaDB
MenuBar
PCの掃除と高速化
Perl
PukiWiki/1.4/Manual/Plugin/E-G
PukiWiki/1.4/Manual/Plugin/S-U
Radiko中継サービス
RIP
routeadm
SekikenWiki
Slack
techsup冗長化
Ubuntu
Vyatta
WikiWikiWeb
WindowsServer2008マニュアル
Windows_Moblie
YukiWiki
Zabbix
お名前VPSリプレイス計画
インフラ整備(byo)
ゲーム実況(計画編)
コミュニケーションと自己発見1
コメント/自炊日記
コメントテスト
サーバメモ
スタティックルート
セキュアOS
メッセンジャー経由で感染するウイルスについて
メメタァ
一行日記
事業計画書「HDD」
会計学入門2
作成案/CM001
作成案/CM002
作成案/CM003
倫理と社会1
切り札
初級システムアドミニストレータ
初音ミク
動画エンコード検証
勢い
取得済資格一覧
唐津バーガー
問題提起
地球と環境2
年寄りの冷や水
心理学1
応用インターネット入門2
情報数学
政治学入門2
文化とコミュニケーション1
文化とデザイン2
文学1
日記ログ/2012年
日記ログ/2013年/01月
日記ログ/2013年/02月
日記ログ/2013年/04月
日記ログ/2013年/06月
日記ログ/2013年/08月
日記ログ/2013年/09月
日記ログ/2013年/10月
日記ログ/2013年/11月
日記ログ/2015年/12月
日記ログ/2017年/10月
日記ログ/2023年
機器選定
歴史1
研究会一覧
経営学総論1
経営情報システム1
経営戦略論1
自動化研究会
葉っぱ的生活変更点まとめ
速攻魔法
適当作品集
鍋
雪遊び
...
[[一行日記]] *Selenium [#re816726] ブラウザ を自動操作して UI のテストができる。~ 便利だと思うのが、自動ログインとスクリーンショット機能。~ また、chrome、firefox で headless モードが搭載されるようになり、~ ブラウザを表示させずに画面キャプチャが可能だったりする。~ ~ ~ **インストール [#m7b6e535] - せっかくだから Windows でやるぜ!~ + Python インストール ~ https://www.python.org/downloads/release/python-364/ ~ ⇒ Windows x86 executable installer ~ 英語で進むけど、環境変数に PATH を加えるオプションを忘れずに。~ 忘れてたら、もう一度インストーラを実行して「modify」を選択すると選べる。~ ~ ~ + Selenium インストール ~ pip を使って selenium をインストールする。~ pip install selenium ~ ~ + Chrome/Firefox webdriver を入手する。 ~ これがないと Selenium が Chrome/Firefox を操作できない。~ https://chromedriver.storage.googleapis.com/index.html?path=2.34/ ~ ⇒ Windows なら chromedriver_win32.zip ~ ~ https://github.com/mozilla/geckodriver/releases ~ ⇒ 64bit版 Firefox を使っている場合は、geckodriver-v0.19.1-win64.zip ~ ~ zip を解凍し、ログインしているユーザの以下のフォルダに配置する。(パスが通ってればどこでもいい)~ C:\Users\<ユーザ名>\AppData\Local\Programs\Python\Python36-32\Scripts ~ ~ ~ +スクリプトを書き、実行してみる。~ 以下の例だと、Aipo に自動ログインして、スクリーンショットを取得する流れ~ ~ Chromeの場合:test.py ~ ※ オレオレ証明書を読み込めないので注意~ ~ ~ import time from selenium import webdriver from selenium.webdriver.common.keys import Keys from selenium.webdriver.chrome.options import Options options = Options() # Chromeのパス(Stableチャネルで--headlessが使えるようになったら不要なはず) options.binary_location = 'C:\Program Files (x86)\Google\Chrome\Application\chrome.exe' # ヘッドレスモードを有効にする(次の行をコメントアウトすると画面が表示される)。 options.add_argument('--headless') options.add_argument('--disable-gpu') options.add_argument('--no-sandbox') options.add_argument('--window-size=1920,1080') # ChromeのWebDriverオブジェクトを作成する。 driver = webdriver.Chrome(chrome_options=options) # Googleのトップ画面を開く。 driver.get('https://aipo.sekiken.xyz/') # タイトルに'Aipo'が含まれていることを確認する。 assert 'Aipo' in driver.title # 入力して送信する。 username = driver.find_element_by_name('member_username') username.send_keys('z20615**') driver.save_screenshot('Aipo_Login1.png') password = driver.find_element_by_id('password') password.send_keys('********') driver.save_screenshot('Aipo_Login2.png') password.send_keys(Keys.RETURN) time.sleep(2) # Chromeの場合はAjaxで遷移するので、とりあえず適当に2秒待つ。 # タイトルに'Python'が含まれていることを確認する。 #assert 'Python' in driver.title # スクリーンショットを撮る。 driver.save_screenshot('Aipo_Login3.png') time.sleep(2) # Chromeの場合はAjaxで遷移するので、とりあえず適当に2秒待つ。 driver.quit() # ブラウザーを終了する。 ~ ~ ~ ~ Firefox の場合:frame.py ~ ※ headless モードが使えないのが難点 ~ ~ # coding:utf-8 import time from selenium import webdriver from selenium.webdriver.common.keys import Keys from selenium.webdriver.firefox.firefox_binary import FirefoxBinary from selenium.webdriver.remote.webelement import WebElement binary = FirefoxBinary('c:\Program Files\Mozilla Firefox\\firefox.exe') binary.add_command_line_options('-headless') browser = webdriver.Firefox(firefox_binary=binary) browser.get('http://matomeantena.com/') browser.set_window_size(1920,1080) time.sleep(2) browser.save_screenshot("frame1.png") elm = browser.find_element_by_xpath('//*[@id="scrollbar"]') elm.send_keys(Keys.PAGE_DOWN) time.sleep(2) browser.save_screenshot("frame2.png") elm.send_keys(Keys.PAGE_DOWN) time.sleep(2) browser.save_screenshot("frame3.png") elm.send_keys(Keys.PAGE_DOWN) time.sleep(2) browser.save_screenshot("frame4.png") elm.send_keys(Keys.PAGE_DOWN) time.sleep(2) browser.save_screenshot("frame5.png") elm.send_keys(Keys.PAGE_DOWN) time.sleep(2) browser.save_screenshot("frame6.png") time.sleep(2) browser.save_screenshot("frame7.png") browser.quit() ** Let's Challenge [#z1adfdeb] - 自動クリックスクリプト
タイムスタンプを変更しない
[[一行日記]] *Selenium [#re816726] ブラウザ を自動操作して UI のテストができる。~ 便利だと思うのが、自動ログインとスクリーンショット機能。~ また、chrome、firefox で headless モードが搭載されるようになり、~ ブラウザを表示させずに画面キャプチャが可能だったりする。~ ~ ~ **インストール [#m7b6e535] - せっかくだから Windows でやるぜ!~ + Python インストール ~ https://www.python.org/downloads/release/python-364/ ~ ⇒ Windows x86 executable installer ~ 英語で進むけど、環境変数に PATH を加えるオプションを忘れずに。~ 忘れてたら、もう一度インストーラを実行して「modify」を選択すると選べる。~ ~ ~ + Selenium インストール ~ pip を使って selenium をインストールする。~ pip install selenium ~ ~ + Chrome/Firefox webdriver を入手する。 ~ これがないと Selenium が Chrome/Firefox を操作できない。~ https://chromedriver.storage.googleapis.com/index.html?path=2.34/ ~ ⇒ Windows なら chromedriver_win32.zip ~ ~ https://github.com/mozilla/geckodriver/releases ~ ⇒ 64bit版 Firefox を使っている場合は、geckodriver-v0.19.1-win64.zip ~ ~ zip を解凍し、ログインしているユーザの以下のフォルダに配置する。(パスが通ってればどこでもいい)~ C:\Users\<ユーザ名>\AppData\Local\Programs\Python\Python36-32\Scripts ~ ~ ~ +スクリプトを書き、実行してみる。~ 以下の例だと、Aipo に自動ログインして、スクリーンショットを取得する流れ~ ~ Chromeの場合:test.py ~ ※ オレオレ証明書を読み込めないので注意~ ~ ~ import time from selenium import webdriver from selenium.webdriver.common.keys import Keys from selenium.webdriver.chrome.options import Options options = Options() # Chromeのパス(Stableチャネルで--headlessが使えるようになったら不要なはず) options.binary_location = 'C:\Program Files (x86)\Google\Chrome\Application\chrome.exe' # ヘッドレスモードを有効にする(次の行をコメントアウトすると画面が表示される)。 options.add_argument('--headless') options.add_argument('--disable-gpu') options.add_argument('--no-sandbox') options.add_argument('--window-size=1920,1080') # ChromeのWebDriverオブジェクトを作成する。 driver = webdriver.Chrome(chrome_options=options) # Googleのトップ画面を開く。 driver.get('https://aipo.sekiken.xyz/') # タイトルに'Aipo'が含まれていることを確認する。 assert 'Aipo' in driver.title # 入力して送信する。 username = driver.find_element_by_name('member_username') username.send_keys('z20615**') driver.save_screenshot('Aipo_Login1.png') password = driver.find_element_by_id('password') password.send_keys('********') driver.save_screenshot('Aipo_Login2.png') password.send_keys(Keys.RETURN) time.sleep(2) # Chromeの場合はAjaxで遷移するので、とりあえず適当に2秒待つ。 # タイトルに'Python'が含まれていることを確認する。 #assert 'Python' in driver.title # スクリーンショットを撮る。 driver.save_screenshot('Aipo_Login3.png') time.sleep(2) # Chromeの場合はAjaxで遷移するので、とりあえず適当に2秒待つ。 driver.quit() # ブラウザーを終了する。 ~ ~ ~ ~ Firefox の場合:frame.py ~ ※ headless モードが使えないのが難点 ~ ~ # coding:utf-8 import time from selenium import webdriver from selenium.webdriver.common.keys import Keys from selenium.webdriver.firefox.firefox_binary import FirefoxBinary from selenium.webdriver.remote.webelement import WebElement binary = FirefoxBinary('c:\Program Files\Mozilla Firefox\\firefox.exe') binary.add_command_line_options('-headless') browser = webdriver.Firefox(firefox_binary=binary) browser.get('http://matomeantena.com/') browser.set_window_size(1920,1080) time.sleep(2) browser.save_screenshot("frame1.png") elm = browser.find_element_by_xpath('//*[@id="scrollbar"]') elm.send_keys(Keys.PAGE_DOWN) time.sleep(2) browser.save_screenshot("frame2.png") elm.send_keys(Keys.PAGE_DOWN) time.sleep(2) browser.save_screenshot("frame3.png") elm.send_keys(Keys.PAGE_DOWN) time.sleep(2) browser.save_screenshot("frame4.png") elm.send_keys(Keys.PAGE_DOWN) time.sleep(2) browser.save_screenshot("frame5.png") elm.send_keys(Keys.PAGE_DOWN) time.sleep(2) browser.save_screenshot("frame6.png") time.sleep(2) browser.save_screenshot("frame7.png") browser.quit() ** Let's Challenge [#z1adfdeb] - 自動クリックスクリプト
テキスト整形のルールを表示する