seleniumの環境構築 Ubuntu + Python3で構築

2018-04-09
linuxubuntuseleniumpythonchromedrivervagrant
    

目次

概要

Ubuntu上でSeleniumを動かした時のメモ・備忘録。ネット上でサンプルコードが見つかりやすいpythonでやることにした。 環境は、 Selenium + Chromedriver + Ubuntu14 + Python3

仮想環境構築

Vagrantを利用します。

https://qiita.com/w2-yamaguchi/items/191830191f8af05ac4dd https://qiita.com/hidekuro/items/385bcc4b9eb43945751d

この辺りを参考にしました。

Vagrant.configure("2") do |config|
  config.vm.box = "ubuntu/xenial64"
  config.vm.box_version = "20180406.0.0"
  config.vm.network "forwarded_port", guest: 3000, host: 3000
  config.vm.network "private_network", ip: "192.168.33.10"
  config.vm.provider "virtualbox" do |vb|
    vb.gui = true
    vb.memory = "2048"
    vb.customize [
      "modifyvm", :id,
      "--vram", "256",
      "--clipboard",
      "--draganddrop",
      "--cpus", "2",
      "--ioapic", "on"
    ]
  end
end

次にデスクトップ環境を導入します。

sudo apt-get -y install ubuntu-desktop

デスクトップが重い場合はメモリの割り当てを増やします。 デフォルトのキーボードがUS配列だったのでこれも変更します。

sudo dpkg-reconfigure keyboard-configuration

そして Generic 105-key (Intl) PC → Japanese → Japanese → The default for the keyboard layout → No compose key ここを参考にしました。 https://qiita.com/jjjiii26/items/af134896483ae9d32a7d

Selenium導入

python3環境がなかったのでpythonを導入。

sudo apt install python3-pip

Chromeのインストール

wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
sudo dpkg -i google-chrome-stable_current_amd64.deb

Seleniumのインストール

sudo apt-get install python3-selenium

Chromeドライバのインストール

wget https://chromedriver.storage.googleapis.com/2.31/chromedriver_linux64.zip
unzip chromedriver_linux64.zip -d ~/bin/

これで準備完了。

また、

sudo apt-get search selenium

をすると下のように関連パッケージが出てくるので試してみたいと思います。

chromium-chromedriver/trusty-updates,trusty-security,now 65.0.3325.181-0ubuntu0.14.04.1 amd64 [installed]
  WebDriver driver for the Chromium Browser

libtest-www-selenium-perl/trusty 1.36-1 all
  Perl test framework using Selenium Remote Control

phpunit-selenium/trusty 1.2.6-3 all
  Selenium RC integration for PHPUnit

python-selenium/trusty,now 2.25.0-0ubuntu1 all [installed]
  python bindings for Selenium

ruby-childprocess/trusty 0.3.9-2 all
  Ruby library for controlling external programs running in the background

実行

from selenium import webdriver

driver = webdriver.Chrome("/usr/bin/chromedriver")
driver.get('https://google.co.jp')

googleのトップに遷移します。

    
s-yoshiki
s-yoshiki
githubtwitterqiita
Web作ってますが、インタラクティブなプログラミングも好きです。
JavaScript / Vue / node.js / PHP / AWS / OpenCV

関連記事

UNIXドメインソケット通信 vs INETドメインソケット通信 php-fpmで動作させる場合の違いについて
結論 ソケット通信について ソケットについて ソケット通信の種類 UNIXドメインソケット通信を行う場合のメリット 参考にしたサイト php-fpm の設定方法で調べた際にIPとポートで設定するパターンとUNIX…

homebrew-core is a shallow clone. 対処法
homebrew で homebrew-core is a shallow clone.と 表示されたエラー 対処法 homebrew で homebrew-core is a shallow clone.と homebrewでupdate…

ファイルの1行目を表示 Linuxコマンド head
head コマンド例 headコマンドでファイルの 1行目もしくは指定した行数だけ表示する方法。 head 利用できるオプション コマンド例 の 1行目だけを表示 の 5行目までを表示 カレントディレクトリ以下の全てのtxtファイルの1行目を表示

Amazon S3 と ローカルファイルのチェックサムの比較
s3apiでEtagを取得 検証 マルチアップロード時の注意点 Amazon S3 の Etagを使ってファイルの整合性チェックをする。 s3apiでEtagを取得 S3 APIを利用するとEtagを取得します。この値はmd5のハッシュ値になります。 検証 MD…

Ansible で Docker に LAMP環境を構築するハンズオンを作った
リポジトリ リポジトリ構成 Docker構成 Ansible role の構成 プロビジョニングの実施 ansibleでdocker上にApache MariaDB PHP…

Macでも利用できるDBクライアント MySQL PostgreSQL Oracle など
デスクトップ系ツール TablePlus DBeaver MySQL Workbench Sequel pro Webアプリケーション phpMyAdmin Adminer 参考 Macで利用できるDB (MySQL PostgreSQL Oracle…

DockerでMySQL5.1.73を利用する。docker-composeから起動
Dockerのインストールから実行まで docker-compose から起動 詳細 Docker から MySQL 5.1.73 を利用する。 Dockerのインストールから実行まで docker imageの pull。 119MB…

Proxy環境下でcurlを実行する
コマンドオプションで設定する 環境変数に設定する curlrc に記述する おまけ: curlのオプション Proxy (プロキシ) 環境下でcurl…

inotify-tools rsync unison を利用してディレクトリを同期する
環境・バージョン情報等 inotify-tools バージョン情報 インストール inotifywait + rsync で同期する inotifywait + unison で同期する unisonの設定 同期コマンド 参考 inotify-tools…

fswatch rsync unison を使ってリアルタイムで同期する
環境・バージョン情報等 fswatch バージョン情報 インストール fswatch + rsync で同期する fswatch + unison で同期する unisonの設定 同期コマンド 参考 fswatch + rsync or fswatch…

最新の投稿

UNIXドメインソケット通信 vs INETドメインソケット通信 php-fpmで動作させる場合の違いについて
結論 ソケット通信について ソケットについて ソケット通信の種類 UNIXドメインソケット通信を行う場合のメリット 参考にしたサイト php-fpm の設定方法で調べた際にIPとポートで設定するパターンとUNIX…

AWS Amplify に Next.js (SSG) で作ったアプリをデプロイする
はじめに 操作 Next.js (React) アプリの作成、Gitへのプッシュ AWS Amplifyでプロジェクト作成 参考にしたサイト この記事では、React / Next.js アプリケーションを作成し、AWS Amplify…

Typescriptに入門した
初期作業 とりあえずHello World 初期作業 typescript環境を作っていきます。 とりあえずHello World まず、次のサンプルコードを作成します。 typescriptファイルをビルドします。

Vue/Nuxt.js 触ってた人が Next.js に入門する
はじめに 実施環境 学習ガイド Create a Next.js App Navigate Between Pages ページの作成 リンク Assets, Metadata, and CSS Assets メタデータ CSS…

PHP-Parser で PHP5からPHP7で動くコードに自動修正するツールが作る夢をみた
ツールが備える機能条件 PHP-Parser について PHP-Parser の簡単なサンプル ASTオブジェクトの置換・変更 PHP5からPHP7への変更内容を実装する ex1 includeパスを変更する ex2 例外クラスを Exception…

PHP5からPHP7への移行ツールを作るための解析・自動修正ツールを調べる
PHP5からPHP7への下位互換のない機能 使えそうなツールの洗い出し PHPStan phan php7cc php7mar php-to-7-aid Rector php-ast PHP-Parser まとめ 追記 (2021/01/0…

CentOS8にDNFでPerl5.30のインストール
Modularityについて Perl5.30インストール dnf module でハマったところ その他 Perl5.26の場合 Perl5.24の場合 CentOS8 or CentOS Streamに Perl5.30をDNF…

homebrew-core is a shallow clone. 対処法
homebrew で homebrew-core is a shallow clone.と 表示されたエラー 対処法 homebrew で homebrew-core is a shallow clone.と homebrewでupdate…

centos-streamのDockerコンテナイメージを作成した
背景 centos-stream コンテナのビルド & インストール 参考にしたところ centos-streamのDockerコンテナイメージを作成しました。 背景 CentOS8からCentOS Stream…

CentOS8でEPELとPowerToolsリポジトリの有効化
EPELとPowerToolsについて EPEL PowerTools EPELとPowerToolsの有効化 Powertoolsの有効化 epel-releaseのインストール 参考にしたサイト CentOS8でEPELとPowerTools…

Tags

Dates

© 2021   404 motivation not found