RubyからSeleniumを操作する際に使うコードのチートシートです。 Seleniumを使うことでブラウザを操作した表示テストを行ったり、ブラウザをつかった操作の自動化ができます。 🍣 ブラウザを開く
概要 前回 Ruby で Selenium を使って firefox の自動操作をしてみました その際にローカル上に selenium-server を立てて geckodriver で操作しました ローカルで実行する場合いろいろとセットアップが面倒です そこで selenium docker を使うとその辺の面倒なセットアップが不要になります 環境 macOS 10.13.2 Ruby 2.4.1p111 selenium-webdriver 3.9.0 docker 18.02.0-ce-rc2 docker-compose 1.19.0-rc2 selenium docker の起動 これだけで selenium server が立ちます docker run -d -p 4444:4444 --shm-size 2g selenium/standalone-firefox:3.8.
Dockerベースで手軽に便利なスクレイピング環境を構築する手順をまとめました。 Selenium on DockerやGKEのサンプルとしてもどうぞ。 GitHub : https://github.com/nullnull/scraping_sample この記事でできるようになること 本番環境(GKE)でスクレイピングのスクリプトを定期実行 スクレイピングを実行中のSelenium(Chromeブラウザ)の様子をVNCで監視(本番/開発) スクレイピング結果をSlack通知(本番/開発) スクレイピング結果をRedashでビジュアライズ(本番) 環境構築にかかるコマンドは数回だけで、スクリーンショットのように動作を確認しながら開発を行うことができます。(左がVNCを通したChromeブラウザ、右がRedash) この記事で説明しないこと スクレイピングのコードそのものの説明 そもそも
お久しぶりです、エンジニアリードのSakaeです。 本技術ブログ解説以来、弊社スクレイピングエンジニア達がクローリング/RPAにまつわる様々な基礎技術や、クローラーをサーバー上で稼働させるための環境構築方法などについて個別に記事を書きためて来ました。 ここらで、これらのバラバラな基礎技術どうしを一本に繋げて、スクレイピング初級者の方でもモリモリデータ収集を行って頂けるような、1から10まで・・・とはいかないものの、1から5までくらいの技術が身につくまとめ記事を書きたいと思います。 まずはスクレイピングエンジニアとしての心得を学ぶ 拙記事で恐縮ですが、スクレイピング/クローリングエンジニアとはどのような職種で、どのような思考回路が求められるのか?また、データクローリング(データアグリゲーション)が活用されるビジネスの世界について頭に入れて頂ければと思います。 職業スクレイピングエンジニアが考
こんにちは。学生エンジニアのhashimotoです。もう平成最後の年末ですね。 今回は、「selenium(セレニウム)を使ってSNSサイトにログインし、タイムラインをスクロールして自動取得する」という流れをご紹介します。マストドンというSNSのQiitadonというインスタンスを例としてプログラムしていきます。 seleniumを使ってログイン 今回はqiitaでマストドンにログイン、qiitaにtwitterでログインという流れでログインしていきます。 まずはgemのrequireやseleniumの設定です。このあたりは過去記事にseleniumの環境構築の記事がありますのでそちらを参照してください。 require 'selenium-webdriver' require 'nokogiri' Selenium::WebDriver::Chrome.driver_path = "/
はじめに そこそこの規模のシステムのコンポーネント間のテストにTurnipがどの程度適合するか試しています。各コンポーネント間でのデータはHTTP APIコールやファイルなどでやりとりするようなシステムが前提です。筆者はRubyについては初心者に毛が生えない程度ですがその他よさそうなツールがないので見よう見まねで使おうという算段です。 目的 (1)テストケース作成→(2)テスト準備→(3)テスト実行→(4)テスト結果記入 のステップを極力自動化したい (1)(4)のためにExcelでテスト仕様書を書くのをやめたい (2)のアウトプットが(3)で直接実行可能なように記述できる (2)のアウトプットが可読性が高く(1)の代わりになる (3)のアウトプットがそのまま(4)の代替になる 利用ツールの検討 上記目的を満たすものとして、受入テストに使うような、要求仕様にたいしてブラックボックステストを
前回、IntegrationテストをTurnipで導入すると良いという話をしましたが、それ以前は長い間Seleniumを利用してE2Eテストを行ってきました。Seleniumは実際にブラウザを自動的に操作して評価するわけですからユーザー視点での評価としてはこれ以上ありません。しかし、実際に運用してみると迅速にリリースを進めたいという思惑から遠のいていくケースも少なくありません。 現在Ruby on RailsでのWebアプリケーションを運用中ですが、テスト手法は受け入れテストも兼ねる機能テストをCucumber + Capybara + rack_testにて、単体テストをRSpecでリリースフローを回しています。今まで自分が構築してきたWebアプリケーションのテストについて振りかえってみて、どうしてこうなったという辺りを紹介してみたいと思います。 衝撃的だったSelenium 自分がSe
はじめに Seleniumの一部の知識まとめからjenkinsで実行させるところまで記載します。 rubyを使用したいと思います。 Seleniumとは Webブラウザを使いWebアプリケーションをテストするツール。 人の手を使ってテストしていた部分をSeleniumがブラウザ操作してくれる。 Selenium WebDriverとは Selenium RCとWebDriverを統合したもの。 Selenium RCとは HTML形式で記述されていたスクリプト1にJava,Rubyなどプログラミング言語を追加し高度なスクリプト生成を可能にした。 Selenium RCでは、ローカルPC上で中継サーバー(Selenium Server)を起動し、この中継サーバ上でrubyなどのスクリプトが動作しJavaScriptのコードをWebページに埋め込んでいた。 これによりWebサーバー上にスクリプ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く