Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
EN
SK
Uploaded by
Sora Kubota
PPTX, PDF
291 views
Rselenium Dockerとの接続
RseleniumとDockerをgoogle chrome経由でつなぐ方法を記述
Education
◦
Read more
0
Save
Share
Embed
Embed presentation
Download
Download to read offline
1
/ 15
2
/ 15
3
/ 15
4
/ 15
5
/ 15
6
/ 15
7
/ 15
8
/ 15
9
/ 15
10
/ 15
11
/ 15
12
/ 15
13
/ 15
14
/ 15
15
/ 15
More Related Content
PDF
SQL Server チューニング基礎
by
Microsoft
PPTX
DockerコンテナでGitを使う
by
Kazuhiro Suga
PDF
挫折しないRedmine
by
Go Maeda
PDF
PostgreSQLアンチパターン
by
Soudai Sone
PPTX
グラフ構造のデータモデルをPower BIで可視化してみた
by
CData Software Japan
PDF
Fault, Error, Failure の違い
by
Mizuhiro Kaimai
PPTX
トランザクションの設計と進化
by
Kumazaki Hiroki
PDF
指数分布とポアソン分布のいけない関係
by
Nagi Teramo
SQL Server チューニング基礎
by
Microsoft
DockerコンテナでGitを使う
by
Kazuhiro Suga
挫折しないRedmine
by
Go Maeda
PostgreSQLアンチパターン
by
Soudai Sone
グラフ構造のデータモデルをPower BIで可視化してみた
by
CData Software Japan
Fault, Error, Failure の違い
by
Mizuhiro Kaimai
トランザクションの設計と進化
by
Kumazaki Hiroki
指数分布とポアソン分布のいけない関係
by
Nagi Teramo
What's hot
PDF
Dockerイメージの理解とコンテナのライフサイクル
by
Masahito Zembutsu
PDF
SQL大量発行処理をいかにして高速化するか
by
Shogo Wakayama
PPTX
Zabbix による ms sql監視 ~データベースモニタリング~ odbc
by
真乙 九龍
PDF
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところ
by
Y Watanabe
KEY
はじめてのCouch db
by
Eiji Kuroda
PDF
ぐるなびが活用するElastic Cloud
by
Elasticsearch
PDF
Docker 9 tips~意外と知られていない日常で役立つ便利技
by
Masahito Zembutsu
PDF
ある工場の Redmine 2022 〜ある工場の Redmine 5.0 バージョンアップ〜 ( Redmine of one plant 2022 ...
by
Kohei Nakamura
PDF
Docker Compose 徹底解説
by
Masahito Zembutsu
PDF
速習!論理レプリケーション ~基礎から最新動向まで~(PostgreSQL Conference Japan 2022 発表資料)
by
NTT DATA Technology & Innovation
PDF
画像生成・生成モデル メタサーベイ
by
cvpaper. challenge
PDF
Python 3.9からの新定番zoneinfoを使いこなそう
by
Ryuji Tsutsui
PPTX
Apache Avro vs Protocol Buffers
by
Seiya Mizuno
PDF
チケット駆動開発現場の最前線.pdf
by
Yokoba
PDF
ドメイン駆動設計 基本を理解する
by
増田 亨
PDF
Apache Arrow - データ処理ツールの次世代プラットフォーム
by
Kouhei Sutou
PPTX
AWSで作る分析基盤
by
Yu Otsubo
PPTX
フックを使ったPostgreSQLの拡張機能を作ってみよう!(第33回PostgreSQLアンカンファレンス@オンライン 発表資料)
by
NTT DATA Technology & Innovation
PDF
K meansによるクラスタリングの解説と具体的なクラスタリングの活用方法の紹介
by
Takeshi Mikami
PPTX
SPAセキュリティ入門~PHP Conference Japan 2021
by
Hiroshi Tokumaru
Dockerイメージの理解とコンテナのライフサイクル
by
Masahito Zembutsu
SQL大量発行処理をいかにして高速化するか
by
Shogo Wakayama
Zabbix による ms sql監視 ~データベースモニタリング~ odbc
by
真乙 九龍
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところ
by
Y Watanabe
はじめてのCouch db
by
Eiji Kuroda
ぐるなびが活用するElastic Cloud
by
Elasticsearch
Docker 9 tips~意外と知られていない日常で役立つ便利技
by
Masahito Zembutsu
ある工場の Redmine 2022 〜ある工場の Redmine 5.0 バージョンアップ〜 ( Redmine of one plant 2022 ...
by
Kohei Nakamura
Docker Compose 徹底解説
by
Masahito Zembutsu
速習!論理レプリケーション ~基礎から最新動向まで~(PostgreSQL Conference Japan 2022 発表資料)
by
NTT DATA Technology & Innovation
画像生成・生成モデル メタサーベイ
by
cvpaper. challenge
Python 3.9からの新定番zoneinfoを使いこなそう
by
Ryuji Tsutsui
Apache Avro vs Protocol Buffers
by
Seiya Mizuno
チケット駆動開発現場の最前線.pdf
by
Yokoba
ドメイン駆動設計 基本を理解する
by
増田 亨
Apache Arrow - データ処理ツールの次世代プラットフォーム
by
Kouhei Sutou
AWSで作る分析基盤
by
Yu Otsubo
フックを使ったPostgreSQLの拡張機能を作ってみよう!(第33回PostgreSQLアンカンファレンス@オンライン 発表資料)
by
NTT DATA Technology & Innovation
K meansによるクラスタリングの解説と具体的なクラスタリングの活用方法の紹介
by
Takeshi Mikami
SPAセキュリティ入門~PHP Conference Japan 2021
by
Hiroshi Tokumaru
Similar to Rselenium Dockerとの接続
PDF
サルから進化(?)Selenium WebDriverの自動実行プログラム
by
洋史 東平
PDF
サルでも書ける(?)Seleniumの自動実行スクリプト(デモつき)
by
洋史 東平
PPTX
Microsoft Excelでgoogle chromeを動かした話
by
洋史 東平
PPTX
20170809 start python_selenium
by
Hiroko Tamagawa
PPTX
Selenium
by
takeuchi-tk
PPTX
Selenium IDE for primer
by
yasukoS
PPTX
Microsoft ExcelでWebブラウザ(Selenium WebDriver)を動かした話
by
洋史 東平
PDF
あなたの安心を高速に守る Container-based CI
by
Wataru MIYAGUNI
PPTX
Selenium WebDriverでFreeBSD 10.2のGoogle Chromeを自動実行
by
洋史 東平
PDF
【Camphor ×サイボウズ】selenium勉強会
by
Yuki Okada
PPTX
Selenium勉強会
by
Tatsunori Nishikori
PDF
JenkinsとSeleniumの活用事例
by
Takeshi Kondo
PPTX
WEB開発動作テストの自動化 を行うSeleniumの紹介
by
Nobuhiko Futagami
PDF
Selenium入門
by
onozaty
PDF
WebDriverで遊ぼう
by
洋史 東平
PDF
GUI何処行ったんDocker
by
Kazuhito Miura
PPTX
ローカル環境のテスト自動化【勉強会資料】
by
株式会社キャッチアップ
サルから進化(?)Selenium WebDriverの自動実行プログラム
by
洋史 東平
サルでも書ける(?)Seleniumの自動実行スクリプト(デモつき)
by
洋史 東平
Microsoft Excelでgoogle chromeを動かした話
by
洋史 東平
20170809 start python_selenium
by
Hiroko Tamagawa
Selenium
by
takeuchi-tk
Selenium IDE for primer
by
yasukoS
Microsoft ExcelでWebブラウザ(Selenium WebDriver)を動かした話
by
洋史 東平
あなたの安心を高速に守る Container-based CI
by
Wataru MIYAGUNI
Selenium WebDriverでFreeBSD 10.2のGoogle Chromeを自動実行
by
洋史 東平
【Camphor ×サイボウズ】selenium勉強会
by
Yuki Okada
Selenium勉強会
by
Tatsunori Nishikori
JenkinsとSeleniumの活用事例
by
Takeshi Kondo
WEB開発動作テストの自動化 を行うSeleniumの紹介
by
Nobuhiko Futagami
Selenium入門
by
onozaty
WebDriverで遊ぼう
by
洋史 東平
GUI何処行ったんDocker
by
Kazuhito Miura
ローカル環境のテスト自動化【勉強会資料】
by
株式会社キャッチアップ
Rselenium Dockerとの接続
2.
Rseleniumとは Webアプリケーションのテストを自動化するツールの一つ。 がWebブラウザで操作する代わりに指定された挙動を実行し、 Web上のプログラムの動作検証を行う枠組みを提供する。 “selenium” とは原子番号34の元素、 セレン(元素記号はSe/日本語のセレンは独語由来)のこと。 →自動ログインや自動のクリックができる!! webからデータを取ってくる(スクレイピング)時に使える 次ページから環境構築を早速していく!
3.
Dockerというアプリをダウンロード Windows https://docs.docker.jp/docker-for-windows/install.html#install-docker-desktop-on-windows Mac http://docs.docker.jp/docker-for-mac/install.html#install-and-run-docker-desktop-on-mac M1 https://rion778.hatenablog.com/entry/2021/03/14/174259 ※インストール後にWSL2というアプリのダウンロードを求 められたらダウンロードする Dockerを使ってseleniumサーバを引っ張ってきたりコンテナ を介してサーバを停止させたり消したりする https://www.youtube.com/watch?v=DNnW4I43wyU
4.
Chrome driver のダウンロード Chrome
driver はweb driver の一種でこいつがネット上を徘徊して データを送ってくれる感じ(?) Chrome driver ダウンロード ChromeDriver -WebDriver for Chrome - Downloads (chromium.org) ※自分のgoogle chrome と同じバージョンのchrome driver を選ぶ (じゃないとうまく使えない!)
5.
seleniumサーバを引っ張ってくる →次のコマンドをターミナル上で実行 docker pull selenium/standalone-chrome セレンサーバを自分の環境に引っ張ってくる(?) docker
run –d –shm-size=1024m –p 4444:4444 selenium/standalone-chrome ホストポート4444とコンテナポート4444をつなげてセレンサーバをrun(実 行)させる -p:つなげる(publish), -d:? , --shm-size=1024m:割り当てるメモリの大 きさ) これでdockerのContainer/Appsに新しいコンテナができているはず 正しく実行できたかどうかを確認するための方法としてブラウザからweb ページにアクセスしてみるとよい(次ページ)
6.
ブラウザからセレンサーバが正しく構築できているのかを 確認する方法 ブラウザのURLを打つ欄に「localhost:4444」と打ち込む。 もしくは「自分のIPアドレス:4444」と打ち込む。 こんな画面が出たらok!
7.
※注意※ dockerでの一連の操作はメモリを大量に使うので 使用中はメモリがかつかつになる。。。 ずっとdockerコンテナを走らせているとpcが重くなってしまうので やりたいことが終わったらDockerのContents/Appsでコンテナを ストップさせて削除しよう。 (消してもまた同じコマンドをすればすぐにまたコンテナが作れる
8.
あとは自分の行きたいページに行ったり、ログインが必要な場合は id・パスワードを入れる欄をDOM(DOMについては後で触れる) ベースで指定してそこに自分のid・パスワードを入れてログインボタンを クリックする関数を使えばいい Rseleniumのメソッドの説明はよいwebページがあるのでそちらを参考に するのもいいかも https://qiita.com/nozma/items/2731b36db8129439a931
9.
library(httr) library(rvest) library(RSelenium) remDr <- remoteDriver(remoteServerAddr
= “xxx.xxx.xxx.x”, ##自分のipアドレス port = 4444, browserName = "chrome") Sys.sleep(5) remDr$open() コードを追いながら説明 remoteDriverがwebを徘徊してくれる(?) ・Sys.sleep(5)は5秒パソコンにじっとするように指示する関数 なぜこうするかというと一気にコードを実行すると相手のサーバに負荷がかかる ため ・remDr$open()はサーバに接続しているらしい
10.
remDr$navigate(“URL”) Sys.sleep(5) 行きたいURLにremote driverが飛んでくれるメソッド remDr$maxWindowSize() remDr$screenshot(display=TRUE) 今いるサイトのスクリーンショットを取ってくれるメソッド 適宜使うことで自分がどんなサイトにいるのかがわかりコードが書きや すくなる webElem <-
remDr$findElements(using="xpath",value ="/html/body/header/k2- kite-header-tool-nav-provider/div/div/nav/k2-kite-header-account- nav/a[2]/span") DOMベースでサイト上の要素を指定することができるメソッドで、それ を変数に入れることで指定した部分だけにメソッドが適用できるように よく使うremDrメソッド
11.
webElem <- remDr$findElement(~)
##引数書くと長くなるので省略 webElem$clickElement() Sys.sleep(5) findElementメソッドを使ってベースで指定した要素を クリックするメソッド ページを移動することになると思うのでSys.sleepで ページの読み込み待機をする(多分なくてもいい) webElem <- remDr$findElement(~) ##引数書くと長くなるので省略 webElem$sendKeysToElement(list(“xxxxxxx”)) またfindElementしたところに対してのメソッドで、 指定した要素を”xxxxxxx”で埋めてくれる(id・パスワード) remDr$getCurrentUrl いまいるサイトのURLを返してくれるメソッド
12.
remDr$findElement()の詳しい使い方 1 ブラウザで対象のサイトを開いてF12キーを押す Macはこのやり方で開発者ツールを開いて https://applica.info/safari-developer-tool (メモ) 開発者ツールで出てくるのはhtmlじゃなくてDOMというもので詳し くは次のサイトを参照 https://www.codegrid.net/articles/2017-newer-dom-1/ 2 開発者ツールの左上のポインタのマークのところをクリックし てサイトの要素をクリックするとその部分のDOMが表示される
13.
3 そのDOMを右クリックして「コピー」から「完全なXpathをコピー」 を選択してxpathをコピーする 4 webElem<-findElements(using
= “xpath”,value = “xxxxx”)の”xxxxx”部分に コピーしたxpathを入れてあげる →これでDOMの一部を抜粋できた!! クリックするなりパスワードを入力するなりウェブを抜き出すなりすれば いいがウェブを抜き出すためにはDOMを処理する必要がある(次ページ) XpathのほかにもDOMのidやcss形式、classを使った指定方法があるが 使いづらかったので使いたいひとは以下のサイトを参照 https://qiita.com/nakamichi/items/ad186633ae249b26d032
14.
DOMから文章を抽出する header_large <- unlist(remDr$getPageSource()) %>%
read_html() %>% html_nodes(xpath = "//span[@class = 'cmnc-large']") %>% html_text() %>% as.data.frame getPageSource()メソッドでDOMを取得でき、それをhtml形式に変換し その中でさらに文章を絞りたければhtml_nodes()を使うこともできる。 そして最後にhtml_text()にいれることでhtmlを人間語にしてくれる。 as.data.frameは見やすい形式にに変換するためにつけた。
15.
Rでマネーフォワードをスクレイピングする - もうカツ丼はいいよな (hatenablog.com) わかりやすかった! 【知らなきゃ危ない!】webスクレイピング禁止サイトまとめ
| 居酒屋 エンジニア (engineerismydream33.org) スクレイピングで法を破らないように… Dockerコマンド一覧 – Qiita しらなくてもいいかな… Pythonでスクレイピングのルール(robots.txt)をチェックするツールを作 る – Qiita スクレイピングで法を破らないように…2(よくわからなかった)
Download