====== Selenium ====== {{python:selenium_logo.png?400|Selenium Logo}}\\ 本家: [[https://www.selenium.dev/|SeleniumHQ Browser Automation]]\\ ドキュメント: [[https://www.selenium.dev/documentation/ja/|Seleniumブラウザー自動化プロジェクト :: Seleniumドキュメント]]\\ ソースコード: [[https://github.com/SeleniumHQ/selenium|GitHub - SeleniumHQ/selenium: A browser automation framework and ecosystem.]]\\ **Selenium** は、 Webアプリケーションをテストするためのポータブルフレームワークである。 Selenium は、テストスクリプト言語(Selenium IDE)を学ぶ必要なしに、機能テストを作成するための再生ツールを提供する。また、C#、Groovy、Java、Perl、PHP、Python、Ruby、Scala 等の一般的なプログラミング言語でテストを作成するためのテストドメイン固有言語(Selenese)も提供する。その後、テストはほとんどの最新のWebブラウザに対して実行できる。Selenium は、Windows、Linux、およびmacOSで動作する。これは、Apache License 2.0 の下でリリースされたオープンソースソフトウェアである。 [[wpjp>Selenium_(ソフトウェア)|Selenium (ソフトウェア) - Wikipedia]] より\\ ===== ChromeDriver のインストール ===== 本家: [[https://chromedriver.chromium.org|ChromeDriver - WebDriver for Chrome]]\\ ==== Fedora ==== $ sudo dnf install chromedriver メタデータの期限切れの最終確認: 2:47:02 時間前の 2020年05月07日 10時05分24秒 に実施しました。 依存関係が解決しました。 ==================================================================================================================== Package Architecture Version Repository Size ==================================================================================================================== インストール: chromedriver x86_64 80.0.3987.163-1.fc31 updates 519 k 依存関係のインストール: alsa-lib x86_64 1.2.2-2.fc31 updates 472 k cdparanoia-libs x86_64 10.2-30.fc31 fedora 55 k chromium-common x86_64 80.0.3987.163-1.fc31 updates 9.7 M chromium-libs x86_64 80.0.3987.163-1.fc31 updates 81 M chromium-libs-media x86_64 80.0.3987.163-1.fc31 updates 2.3 M flac-libs x86_64 1.3.3-1.fc31 fedora 223 k gstreamer1 x86_64 1.16.2-1.fc31 updates 1.3 M gstreamer1-plugins-base x86_64 1.16.2-2.fc31 updates 2.0 M iso-codes noarch 4.3-2.fc31 fedora 3.3 M libXScrnSaver x86_64 1.2.3-4.fc31 fedora 25 k libXv x86_64 1.0.11-10.fc31 fedora 18 k libogg x86_64 2:1.3.3-3.fc31 fedora 26 k libtheora x86_64 1:1.1.1-24.fc31 fedora 187 k libvisual x86_64 1:0.4.0-27.fc31 fedora 149 k libvorbis x86_64 1:1.3.6-5.fc31 fedora 201 k minizip-compat x86_64 1.2.11-20.fc31 updates 32 k opus x86_64 1.3.1-2.fc31 fedora 218 k orc x86_64 0.4.30-1.fc31 fedora 181 k pipewire-libs x86_64 0.2.7-2.fc31 updates 318 k rtkit x86_64 0.11-22.fc31 fedora 58 k sbc x86_64 1.4-3.fc31 fedora 64 k xml-common noarch 0.6.3-53.fc31 fedora 31 k 弱い依存関係のインストール: pipewire x86_64 0.2.7-2.fc31 updates 146 k トランザクションの概要 ===================================================================================================================== インストール 24 パッケージ ダウンロードサイズの合計: 102 M インストール済みのサイズ: 455 M これでよろしいですか? [y/N]: y パッケージのダウンロード: (1/24): alsa-lib-1.2.2-2.fc31.x86_64.rpm 2.2 MB/s | 472 kB 00:00 (2/24): chromedriver-80.0.3987.163-1.fc31.x86_64.rpm 857 kB/s | 519 kB 00:00 (3/24): chromium-libs-media-80.0.3987.163-1.fc31.x86_64.rpm 3.5 MB/s | 2.3 MB 00:00 (4/24): gstreamer1-1.16.2-1.fc31.x86_64.rpm 2.9 MB/s | 1.3 MB 00:00 (5/24): gstreamer1-plugins-base-1.16.2-2.fc31.x86_64.rpm 3.4 MB/s | 2.0 MB 00:00 (6/24): minizip-compat-1.2.11-20.fc31.x86_64.rpm 326 kB/s | 32 kB 00:00 (7/24): chromium-common-80.0.3987.163-1.fc31.x86_64.rpm 3.8 MB/s | 9.7 MB 00:02 (8/24): pipewire-0.2.7-2.fc31.x86_64.rpm 1.0 MB/s | 146 kB 00:00 (9/24): pipewire-libs-0.2.7-2.fc31.x86_64.rpm 2.5 MB/s | 318 kB 00:00 (10/24): cdparanoia-libs-10.2-30.fc31.x86_64.rpm 387 kB/s | 55 kB 00:00 (11/24): flac-libs-1.3.3-1.fc31.x86_64.rpm 1.0 MB/s | 223 kB 00:00 (12/24): libXScrnSaver-1.2.3-4.fc31.x86_64.rpm 275 kB/s | 25 kB 00:00 (13/24): libXv-1.0.11-10.fc31.x86_64.rpm 368 kB/s | 18 kB 00:00 (14/24): libogg-1.3.3-3.fc31.x86_64.rpm 502 kB/s | 26 kB 00:00 (15/24): libtheora-1.1.1-24.fc31.x86_64.rpm 1.6 MB/s | 187 kB 00:00 (16/24): libvisual-0.4.0-27.fc31.x86_64.rpm 1.5 MB/s | 149 kB 00:00 (17/24): libvorbis-1.3.6-5.fc31.x86_64.rpm 2.2 MB/s | 201 kB 00:00 (18/24): opus-1.3.1-2.fc31.x86_64.rpm 1.4 MB/s | 218 kB 00:00 (19/24): iso-codes-4.3-2.fc31.noarch.rpm 3.9 MB/s | 3.3 MB 00:00 (20/24): orc-0.4.30-1.fc31.x86_64.rpm 1.8 MB/s | 181 kB 00:00 (21/24): rtkit-0.11-22.fc31.x86_64.rpm 660 kB/s | 58 kB 00:00 (22/24): sbc-1.4-3.fc31.x86_64.rpm 593 kB/s | 64 kB 00:00 (23/24): xml-common-0.6.3-53.fc31.noarch.rpm 265 kB/s | 31 kB 00:00 (24/24): chromium-libs-80.0.3987.163-1.fc31.x86_64.rpm 7.2 MB/s | 81 MB 00:11 -------------------------------------------------------------------------------------------------------------------- 合計 8.1 MB/s | 102 MB 00:12 トランザクションの確認を実行中 トランザクションの確認に成功しました。 トランザクションのテストを実行中 トランザクションのテストに成功しました。 トランザクションを実行中 準備 : 1/1 インストール中 : libogg-2:1.3.3-3.fc31.x86_64 1/24 インストール中 : alsa-lib-1.2.2-2.fc31.x86_64 2/24 インストール中 : minizip-compat-1.2.11-20.fc31.x86_64 3/24 インストール中 : gstreamer1-1.16.2-1.fc31.x86_64 4/24 インストール中 : chromium-common-80.0.3987.163-1.fc31.x86_64 5/24 インストール中 : flac-libs-1.3.3-1.fc31.x86_64 6/24 インストール中 : libtheora-1:1.1.1-24.fc31.x86_64 7/24 インストール中 : libvorbis-1:1.3.6-5.fc31.x86_64 8/24 scriptletの実行中: xml-common-0.6.3-53.fc31.noarch 9/24 インストール中 : xml-common-0.6.3-53.fc31.noarch 9/24 インストール中 : iso-codes-4.3-2.fc31.noarch 10/24 インストール中 : sbc-1.4-3.fc31.x86_64 11/24 scriptletの実行中: rtkit-0.11-22.fc31.x86_64 12/24 インストール中 : rtkit-0.11-22.fc31.x86_64 12/24 scriptletの実行中: rtkit-0.11-22.fc31.x86_64 12/24 Created symlink /etc/systemd/system/graphical.target.wants/rtkit-daemon.service → /usr/lib/systemd/system/rtkit-daemon.service. インストール中 : orc-0.4.30-1.fc31.x86_64 13/24 インストール中 : opus-1.3.1-2.fc31.x86_64 14/24 インストール中 : libvisual-1:0.4.0-27.fc31.x86_64 15/24 インストール中 : libXv-1.0.11-10.fc31.x86_64 16/24 インストール中 : libXScrnSaver-1.2.3-4.fc31.x86_64 17/24 インストール中 : cdparanoia-libs-10.2-30.fc31.x86_64 18/24 インストール中 : gstreamer1-plugins-base-1.16.2-2.fc31.x86_64 19/24 scriptletの実行中: pipewire-0.2.7-2.fc31.x86_64 20/24 インストール中 : pipewire-0.2.7-2.fc31.x86_64 20/24 インストール中 : pipewire-libs-0.2.7-2.fc31.x86_64 21/24 インストール中 : chromium-libs-media-80.0.3987.163-1.fc31.x86_64 22/24 インストール中 : chromium-libs-80.0.3987.163-1.fc31.x86_64 23/24 インストール中 : chromedriver-80.0.3987.163-1.fc31.x86_64 24/24 scriptletの実行中: chromium-libs-media-80.0.3987.163-1.fc31.x86_64 24/24 scriptletの実行中: chromedriver-80.0.3987.163-1.fc31.x86_64 24/24 検証 : alsa-lib-1.2.2-2.fc31.x86_64 1/24 検証 : chromedriver-80.0.3987.163-1.fc31.x86_64 2/24 検証 : chromium-common-80.0.3987.163-1.fc31.x86_64 3/24 検証 : chromium-libs-80.0.3987.163-1.fc31.x86_64 4/24 検証 : chromium-libs-media-80.0.3987.163-1.fc31.x86_64 5/24 検証 : gstreamer1-1.16.2-1.fc31.x86_64 6/24 検証 : gstreamer1-plugins-base-1.16.2-2.fc31.x86_64 7/24 検証 : minizip-compat-1.2.11-20.fc31.x86_64 8/24 検証 : pipewire-0.2.7-2.fc31.x86_64 9/24 検証 : pipewire-libs-0.2.7-2.fc31.x86_64 10/24 検証 : cdparanoia-libs-10.2-30.fc31.x86_64 11/24 検証 : flac-libs-1.3.3-1.fc31.x86_64 12/24 検証 : iso-codes-4.3-2.fc31.noarch 13/24 検証 : libXScrnSaver-1.2.3-4.fc31.x86_64 14/24 検証 : libXv-1.0.11-10.fc31.x86_64 15/24 検証 : libogg-2:1.3.3-3.fc31.x86_64 16/24 検証 : libtheora-1:1.1.1-24.fc31.x86_64 17/24 検証 : libvisual-1:0.4.0-27.fc31.x86_64 18/24 検証 : libvorbis-1:1.3.6-5.fc31.x86_64 19/24 検証 : opus-1.3.1-2.fc31.x86_64 20/24 検証 : orc-0.4.30-1.fc31.x86_64 21/24 検証 : rtkit-0.11-22.fc31.x86_64 22/24 検証 : sbc-1.4-3.fc31.x86_64 23/24 検証 : xml-common-0.6.3-53.fc31.noarch 24/24 インストール済み: alsa-lib-1.2.2-2.fc31.x86_64 cdparanoia-libs-10.2-30.fc31.x86_64 chromedriver-80.0.3987.163-1.fc31.x86_64 chromium-common-80.0.3987.163-1.fc31.x86_64 chromium-libs-80.0.3987.163-1.fc31.x86_64 chromium-libs-media-80.0.3987.163-1.fc31.x86_64 flac-libs-1.3.3-1.fc31.x86_64 gstreamer1-1.16.2-1.fc31.x86_64 gstreamer1-plugins-base-1.16.2-2.fc31.x86_64 iso-codes-4.3-2.fc31.noarch libXScrnSaver-1.2.3-4.fc31.x86_64 libXv-1.0.11-10.fc31.x86_64 libogg-2:1.3.3-3.fc31.x86_64 libtheora-1:1.1.1-24.fc31.x86_64 libvisual-1:0.4.0-27.fc31.x86_64 libvorbis-1:1.3.6-5.fc31.x86_64 minizip-compat-1.2.11-20.fc31.x86_64 opus-1.3.1-2.fc31.x86_64 orc-0.4.30-1.fc31.x86_64 pipewire-0.2.7-2.fc31.x86_64 pipewire-libs-0.2.7-2.fc31.x86_64 rtkit-0.11-22.fc31.x86_64 sbc-1.4-3.fc31.x86_64 xml-common-0.6.3-53.fc31.noarch 完了しました! === 動作確認 === $ chromedriver --version ChromeDriver 100.0.4896.127 (ff0d0695743e65305d7194f9bd309e5e1c824aa0-refs/branch-heads/4896_88@{#4}) $ chromedriver --help Usage: chromedriver [OPTIONS] Options --port=PORT port to listen on --adb-port=PORT adb server port --log-path=FILE write server log to file instead of stderr, increases log level to INFO --log-level=LEVEL set log level: ALL, DEBUG, INFO, WARNING, SEVERE, OFF --verbose log verbosely (equivalent to --log-level=ALL) --silent log nothing (equivalent to --log-level=OFF) --append-log append log file instead of rewriting --replayable (experimental) log verbosely and don't truncate long strings so that the log can be replayed. --version print the version number and exit --url-base base URL path prefix for commands, e.g. wd/url --readable-timestamp add readable timestamps to log --enable-chrome-logs show logs from the browser (overrides other logging options) --disable-dev-shm-usage do not use /dev/shm (add this switch if seeing errors related to shared memory) --allowed-ips=LIST comma-separated allowlist of remote IP addresses which are allowed to connect to ChromeDriver --allowed-origins=LIST comma-separated allowlist of request origins which are allowed to connect to ChromeDriver. Using `*` to allow any host origin is dangerous! ==== DietPi ==== === DietPi で chromedriver を含むパッケージ === $ apt-file search chromedriver chromium-browser: /usr/lib/chromium-browser/chromedriver.debug chromium-browser: /usr/lib/chromium-browser/chromedriver.unstripped chromium-chromedriver: /usr/bin/chromedriver chromium-chromedriver: /usr/lib/chromium-browser/chromedriver chromium-chromedriver: /usr/share/doc/chromium-chromedriver/changelog.Debian.gz chromium-chromedriver: /usr/share/doc/chromium-chromedriver/copyright chromium-chromedriver-dbgsym: /usr/share/doc/chromium-chromedriver-dbgsym chromium-driver: /usr/bin/chromedriver ruby-chromedriver-helper: /usr/share/doc/ruby-chromedriver-helper/README.md.gz ruby-chromedriver-helper: /usr/share/doc/ruby-chromedriver-helper/changelog.Debian.gz ruby-chromedriver-helper: /usr/share/doc/ruby-chromedriver-helper/changelog.gz ruby-chromedriver-helper: /usr/share/doc/ruby-chromedriver-helper/copyright ruby-chromedriver-helper: /usr/share/rubygems-integration/all/gems/chromedriver-helper-2.1.0/bin/chromedriver-helper ruby-chromedriver-helper: /usr/share/rubygems-integration/all/gems/chromedriver-helper-2.1.0/bin/chromedriver-update ruby-chromedriver-helper: /usr/share/rubygems-integration/all/gems/chromedriver-helper-2.1.0/concourse/chromedriver-helper.yml ruby-chromedriver-helper: /usr/share/rubygems-integration/all/gems/chromedriver-helper-2.1.0/concourse/tasks/rake-test/run.ps1 ruby-chromedriver-helper: /usr/share/rubygems-integration/all/gems/chromedriver-helper-2.1.0/concourse/tasks/rake-test/run.sh ruby-chromedriver-helper: /usr/share/rubygems-integration/all/gems/chromedriver-helper-2.1.0/lib/chromedriver-helper.rb ruby-chromedriver-helper: /usr/share/rubygems-integration/all/gems/chromedriver-helper-2.1.0/lib/chromedriver/helper.rb ruby-chromedriver-helper: /usr/share/rubygems-integration/all/gems/chromedriver-helper-2.1.0/lib/chromedriver/helper/google_code_parser.rb ruby-chromedriver-helper: /usr/share/rubygems-integration/all/gems/chromedriver-helper-2.1.0/lib/chromedriver/helper/version.rb ruby-chromedriver-helper: /usr/share/rubygems-integration/all/specifications/chromedriver-helper-2.1.0.gemspec wolfram-engine: /opt/Wolfram/WolframEngine/13.0/SystemFiles/Components/WebUnit/Resources/DriverBinaries/ChromeDriver/Linux-ARM/chromedriver === DietPi の chromium-browser の chromium-chromedriver は動作する🤔ややこしい😅💦 === $ sudo apt install chromium-chromedriver Reading package lists... Done Building dependency tree... Done Reading state information... Done The following additional packages will be installed: chromium-browser Recommended packages: chromium-browser-l10n The following NEW packages will be installed: chromium-browser chromium-chromedriver 0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. Need to get 130 MB of archives. After this operation, 409 MB of additional disk space will be used. Do you want to continue? [Y/n] y Get:1 https://archive.raspberrypi.org/debian bullseye/main armhf chromium-browser armhf 101.0.4951.57-rpt2 [125 MB] Get:2 https://archive.raspberrypi.org/debian bullseye/main armhf chromium-chromedriver armhf 101.0.4951.57-rpt2 [5,165 kB] Fetched 130 MB in 2min 47s (779 kB/s) debconf: delaying package configuration, since apt-utils is not installed Selecting previously unselected package chromium-browser. (Reading database ... 70998 files and directories currently installed.) Preparing to unpack .../chromium-browser_101.0.4951.57-rpt2_armhf.deb ... Unpacking chromium-browser (101.0.4951.57-rpt2) ... Selecting previously unselected package chromium-chromedriver. Preparing to unpack .../chromium-chromedriver_101.0.4951.57-rpt2_armhf.deb ... Unpacking chromium-chromedriver (101.0.4951.57-rpt2) ... Setting up chromium-browser (101.0.4951.57-rpt2) ... update-alternatives: using /usr/bin/chromium-browser to provide /usr/bin/x-www-browser (x-www-browser) in auto mode update-alternatives: using /usr/bin/chromium-browser to provide /usr/bin/gnome-www-browser (gnome-www-browser) in auto mode Setting up chromium-chromedriver (101.0.4951.57-rpt2) ... Processing triggers for hicolor-icon-theme (0.17-2) ... Processing triggers for libc-bin (2.31-13+rpt2+rpi1+deb11u2) ... Processing triggers for mailcap (3.69) ... === 動作確認 === $ chromedriver --version ChromeDriver 101.0.4951.57 (352920124de66f14c4af140139f61c798937eda9-refs/branch-heads/4951@{#1148}) $ chromedriver --help Usage: chromedriver [OPTIONS] Options --port=PORT port to listen on --adb-port=PORT adb server port --log-path=FILE write server log to file instead of stderr, increases log level to INFO --log-level=LEVEL set log level: ALL, DEBUG, INFO, WARNING, SEVERE, OFF --verbose log verbosely (equivalent to --log-level=ALL) --silent log nothing (equivalent to --log-level=OFF) --append-log append log file instead of rewriting --replayable (experimental) log verbosely and don't truncate long strings so that the log can be replayed. --version print the version number and exit --url-base base URL path prefix for commands, e.g. wd/url --readable-timestamp add readable timestamps to log --enable-chrome-logs show logs from the browser (overrides other logging options) --disable-dev-shm-usage do not use /dev/shm (add this switch if seeing errors related to shared memory) --allowed-ips=LIST comma-separated allowlist of remote IP addresses which are allowed to connect to ChromeDriver --allowed-origins=LIST comma-separated allowlist of request origins which are allowed to connect to ChromeDriver. Using `*` to allow any host origin is dangerous! === DietPi の chromium-driver は Segmentation fault で動作しない😅💦 === Raspberry Pi Zero WH の DietPi で armhf 32bit な chromium-driver は Segmentation fault で動作しない😥\\ $ sudo apt install chromium-driver Reading package lists... Done Building dependency tree... Done Reading state information... Done The following additional packages will be installed: chromium chromium-common libjsoncpp24 libminizip1 libre2-9 Suggested packages: chromium-l10n chromium-shell Recommended packages: chromium-sandbox libu2f-udev fonts-liberation notification-daemon system-config-printer The following NEW packages will be installed: chromium chromium-common chromium-driver libjsoncpp24 libminizip1 libre2-9 0 upgraded, 6 newly installed, 0 to remove and 0 not upgraded. Need to get 66.9 MB of archives. After this operation, 158 MB of additional disk space will be used. Do you want to continue? [Y/n] y Get:1 http://ftp.udx.icscoe.jp/Linux/raspbian/raspbian bullseye/main armhf libjsoncpp24 armhf 1.9.4-4 [67.0 kB] Get:2 http://raspbian.raspberrypi.org/raspbian bullseye/main armhf libminizip1 armhf 1.1-8+b1 [18.3 kB] Get:3 http://raspbian.raspberrypi.org/raspbian bullseye/main armhf libre2-9 armhf 20210201+dfsg-1 [138 kB] Get:4 http://raspbian.raspberrypi.org/raspbian bullseye/main armhf chromium-common armhf 101.0.4951.64-1~deb11u1+rpi1 [4,748 kB] Get:5 http://raspbian.raspberrypi.org/raspbian bullseye/main armhf chromium armhf 101.0.4951.64-1~deb11u1+rpi1 [56.8 MB] Get:6 http://raspbian.raspberrypi.org/raspbian bullseye/main armhf chromium-driver armhf 101.0.4951.64-1~deb11u1+rpi1 [5,128 kB] Fetched 66.9 MB in 1min 54s (587 kB/s) debconf: delaying package configuration, since apt-utils is not installed Selecting previously unselected package libjsoncpp24:armhf. (Reading database ... 70989 files and directories currently installed.) Preparing to unpack .../0-libjsoncpp24_1.9.4-4_armhf.deb ... Unpacking libjsoncpp24:armhf (1.9.4-4) ... Selecting previously unselected package libminizip1:armhf. Preparing to unpack .../1-libminizip1_1.1-8+b1_armhf.deb ... Unpacking libminizip1:armhf (1.1-8+b1) ... Selecting previously unselected package libre2-9:armhf. Preparing to unpack .../2-libre2-9_20210201+dfsg-1_armhf.deb ... Unpacking libre2-9:armhf (20210201+dfsg-1) ... Selecting previously unselected package chromium-common. Preparing to unpack .../3-chromium-common_101.0.4951.64-1~deb11u1+rpi1_armhf.deb ... Unpacking chromium-common (101.0.4951.64-1~deb11u1+rpi1) ... Selecting previously unselected package chromium. Preparing to unpack .../4-chromium_101.0.4951.64-1~deb11u1+rpi1_armhf.deb ... Unpacking chromium (101.0.4951.64-1~deb11u1+rpi1) ... Selecting previously unselected package chromium-driver. Preparing to unpack .../5-chromium-driver_101.0.4951.64-1~deb11u1+rpi1_armhf.deb ... Unpacking chromium-driver (101.0.4951.64-1~deb11u1+rpi1) ... Setting up libre2-9:armhf (20210201+dfsg-1) ... Setting up libminizip1:armhf (1.1-8+b1) ... Setting up libjsoncpp24:armhf (1.9.4-4) ... Setting up chromium-common (101.0.4951.64-1~deb11u1+rpi1) ... Setting up chromium (101.0.4951.64-1~deb11u1+rpi1) ... update-alternatives: using /usr/bin/chromium to provide /usr/bin/gnome-www-browser (gnome-www-browser) in auto mode Setting up chromium-driver (101.0.4951.64-1~deb11u1+rpi1) ... Processing triggers for mailcap (3.69) ... Processing triggers for hicolor-icon-theme (0.17-2) ... Processing triggers for libc-bin (2.31-13+rpt2+rpi1+deb11u2) ... === 動作確認 === $ chromedriver --version Segmentation fault😱 $ strace /usr/bin/chromedriver execve("/usr/bin/chromedriver", ["/usr/bin/chromedriver"], 0xbedeecd0 /* 20 vars */) = 0 brk(NULL) = 0x2081000 uname({sysname="Linux", nodename="dietpi-001", ...}) = 0 access("/etc/ld.so.preload", R_OK) = 0 openat(AT_FDCWD, "/etc/ld.so.preload", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3 fstat64(3, {st_mode=S_IFREG|0644, st_size=54, ...}) = 0 mmap2(NULL, 54, PROT_READ|PROT_WRITE, MAP_PRIVATE, 3, 0) = 0xb6ff4000 close(3) = 0 readlink("/proc/self/exe", "/usr/bin/chromedriver", 4096) = 21 openat(AT_FDCWD, "/usr/lib/arm-linux-gnueabihf/libarmmem-v6l.so", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0\250\3\0\0004\0\0\0"..., 512) = 512 fstat64(3, {st_mode=S_IFREG|0644, st_size=9512, ...}) = 0 mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6ff2000 mmap2(NULL, 73772, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb6fb0000 mprotect(0xb6fb2000, 61440, PROT_NONE) = 0 mmap2(0xb6fc1000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1000) = 0xb6fc1000 close(3) = 0 munmap(0xb6ff4000, 54) = 0 openat(AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3 fstat64(3, {st_mode=S_IFREG|0644, st_size=64107, ...}) = 0 mmap2(NULL, 64107, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb6fa0000 close(3) = 0 openat(AT_FDCWD, "/lib/arm-linux-gnueabihf/libatomic.so.1", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3 read(3, "\177ELF\1\1\1\3\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0(\25\0\0004\0\0\0"..., 512) = 512 fstat64(3, {st_mode=S_IFREG|0644, st_size=30152, ...}) = 0 mmap2(NULL, 98456, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb6f87000 mprotect(0xb6f8e000, 61440, PROT_NONE) = 0 mmap2(0xb6f9d000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x6000) = 0xb6f9d000 mmap2(0xb6f9f000, 152, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb6f9f000 close(3) = 0 openat(AT_FDCWD, "/lib/arm-linux-gnueabihf/libdl.so.2", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0\330\v\0\0004\0\0\0"..., 512) = 512 fstat64(3, {st_mode=S_IFREG|0644, st_size=13864, ...}) = 0 mmap2(NULL, 78020, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb6f73000 mprotect(0xb6f76000, 61440, PROT_NONE) = 0 mmap2(0xb6f85000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2000) = 0xb6f85000 close(3) = 0 openat(AT_FDCWD, "/lib/arm-linux-gnueabihf/libpthread.so.0", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0t]\0\0004\0\0\0"..., 512) = 512 fstat64(3, {st_mode=S_IFREG|0755, st_size=137364, ...}) = 0 mmap2(NULL, 176728, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb6f47000 mprotect(0xb6f5f000, 65536, PROT_NONE) = 0 mmap2(0xb6f6f000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x18000) = 0xb6f6f000 mmap2(0xb6f71000, 4696, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb6f71000 close(3) = 0 openat(AT_FDCWD, "/lib/arm-linux-gnueabihf/libglib-2.0.so.0", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0pp\1\0004\0\0\0"..., 512) = 512 fstat64(3, {st_mode=S_IFREG|0644, st_size=1124708, ...}) = 0 mmap2(NULL, 1190680, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb6e24000 mprotect(0xb6f35000, 65536, PROT_NONE) = 0 mmap2(0xb6f45000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x111000) = 0xb6f45000 close(3) = 0 openat(AT_FDCWD, "/lib/arm-linux-gnueabihf/libnss3.so", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\085\1\0004\0\0\0"..., 512) = 512 fstat64(3, {st_mode=S_IFREG|0644, st_size=1174820, ...}) = 0 mmap2(NULL, 1242288, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb6cf4000 mprotect(0xb6e0e000, 65536, PROT_NONE) = 0 mmap2(0xb6e1e000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x11a000) = 0xb6e1e000 mmap2(0xb6e23000, 1200, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb6e23000 close(3) = 0 openat(AT_FDCWD, "/lib/arm-linux-gnueabihf/libnssutil3.so", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0\300m\0\0004\0\0\0"..., 512) = 512 fstat64(3, {st_mode=S_IFREG|0644, st_size=145636, ...}) = 0 mmap2(NULL, 211324, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb6cc0000 mprotect(0xb6ce0000, 61440, PROT_NONE) = 0 mmap2(0xb6cef000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1f000) = 0xb6cef000 close(3) = 0 openat(AT_FDCWD, "/lib/arm-linux-gnueabihf/libnspr4.so", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0\330\202\0\0004\0\0\0"..., 512) = 512 fstat64(3, {st_mode=S_IFREG|0644, st_size=192612, ...}) = 0 mmap2(NULL, 264252, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb6c7f000 mprotect(0xb6cac000, 65536, PROT_NONE) = 0 mmap2(0xb6cbc000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2d000) = 0xb6cbc000 mmap2(0xb6cbe000, 6204, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb6cbe000 close(3) = 0 openat(AT_FDCWD, "/lib/arm-linux-gnueabihf/libevent-2.1.so.7", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0(\260\0\0004\0\0\0"..., 512) = 512 fstat64(3, {st_mode=S_IFREG|0644, st_size=308816, ...}) = 0 mmap2(NULL, 374476, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb6c23000 mprotect(0xb6c6d000, 65536, PROT_NONE) = 0 mmap2(0xb6c7d000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x4a000) = 0xb6c7d000 close(3) = 0 openat(AT_FDCWD, "/lib/arm-linux-gnueabihf/libz.so.1", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0@\32\0\0004\0\0\0"..., 512) = 512 fstat64(3, {st_mode=S_IFREG|0644, st_size=95880, ...}) = 0 mmap2(NULL, 159980, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb6bfb000 mprotect(0xb6c12000, 61440, PROT_NONE) = 0 mmap2(0xb6c21000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x16000) = 0xb6c21000 close(3) = 0 openat(AT_FDCWD, "/lib/arm-linux-gnueabihf/libminizip.so.1", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0\220\26\0\0004\0\0\0"..., 512) = 512 fstat64(3, {st_mode=S_IFREG|0644, st_size=38412, ...}) = 0 mmap2(NULL, 102676, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb6be1000 mprotect(0xb6bea000, 61440, PROT_NONE) = 0 mmap2(0xb6bf9000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x8000) = 0xb6bf9000 close(3) = 0 mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6ff0000 openat(AT_FDCWD, "/lib/arm-linux-gnueabihf/libxcb.so.1", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0T\232\0\0004\0\0\0"..., 512) = 512 fstat64(3, {st_mode=S_IFREG|0644, st_size=132940, ...}) = 0 mmap2(NULL, 197204, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb6bb0000 mprotect(0xb6bd0000, 61440, PROT_NONE) = 0 mmap2(0xb6bdf000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1f000) = 0xb6bdf000 close(3) = 0 openat(AT_FDCWD, "/lib/arm-linux-gnueabihf/libre2.so.9", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0000M\0\0004\0\0\0"..., 512) = 512 fstat64(3, {st_mode=S_IFREG|0644, st_size=378984, ...}) = 0 mmap2(NULL, 443072, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb6b43000 mprotect(0xb6b9d000, 65536, PROT_NONE) = 0 mmap2(0xb6bad000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x5a000) = 0xb6bad000 close(3) = 0 openat(AT_FDCWD, "/lib/arm-linux-gnueabihf/libstdc++.so.6", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3 read(3, "\177ELF\1\1\1\3\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0X\216\7\0004\0\0\0"..., 512) = 512 fstat64(3, {st_mode=S_IFREG|0644, st_size=1532776, ...}) = 0 mmap2(NULL, 1605012, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb69bb000 mprotect(0xb6b2a000, 65536, PROT_NONE) = 0 mmap2(0xb6b3a000, 28672, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x16f000) = 0xb6b3a000 mmap2(0xb6b41000, 7572, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb6b41000 close(3) = 0 openat(AT_FDCWD, "/lib/arm-linux-gnueabihf/libm.so.6", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0\20\222\0\0004\0\0\0"..., 512) = 512 fstat64(3, {st_mode=S_IFREG|0644, st_size=386572, ...}) = 0 mmap2(NULL, 450684, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb694c000 mprotect(0xb69aa000, 61440, PROT_NONE) = 0 mmap2(0xb69b9000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x5d000) = 0xb69b9000 close(3) = 0 openat(AT_FDCWD, "/lib/arm-linux-gnueabihf/libgcc_s.so.1", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0\270\321\0\0004\0\0\0"..., 512) = 512 fstat64(3, {st_mode=S_IFREG|0644, st_size=116324, ...}) = 0 mmap2(NULL, 180532, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb691f000 mprotect(0xb693b000, 61440, PROT_NONE) = 0 mmap2(0xb694a000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1b000) = 0xb694a000 close(3) = 0 openat(AT_FDCWD, "/lib/arm-linux-gnueabihf/libc.so.6", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0\240\255\1\0004\0\0\0"..., 512) = 512 fstat64(3, {st_mode=S_IFREG|0755, st_size=1321488, ...}) = 0 mmap2(NULL, 1390760, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb67cb000 mprotect(0xb690a000, 61440, PROT_NONE) = 0 mmap2(0xb6919000, 16384, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x13e000) = 0xb6919000 mmap2(0xb691d000, 6312, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb691d000 close(3) = 0 openat(AT_FDCWD, "/lib/arm-linux-gnueabihf/libpcre.so.3", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0\250\16\0\0004\0\0\0"..., 512) = 512 fstat64(3, {st_mode=S_IFREG|0644, st_size=419152, ...}) = 0 mmap2(NULL, 483412, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb6754000 mprotect(0xb67ba000, 61440, PROT_NONE) = 0 mmap2(0xb67c9000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x65000) = 0xb67c9000 close(3) = 0 openat(AT_FDCWD, "/lib/arm-linux-gnueabihf/libplc4.so", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0l\r\0\0004\0\0\0"..., 512) = 512 fstat64(3, {st_mode=S_IFREG|0644, st_size=13792, ...}) = 0 mmap2(NULL, 78060, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb6740000 mprotect(0xb6743000, 61440, PROT_NONE) = 0 mmap2(0xb6752000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2000) = 0xb6752000 close(3) = 0 openat(AT_FDCWD, "/lib/arm-linux-gnueabihf/libplds4.so", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0\334\t\0\0004\0\0\0"..., 512) = 512 fstat64(3, {st_mode=S_IFREG|0644, st_size=9656, ...}) = 0 mmap2(NULL, 73916, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb672d000 mprotect(0xb672f000, 61440, PROT_NONE) = 0 mmap2(0xb673e000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1000) = 0xb673e000 close(3) = 0 openat(AT_FDCWD, "/lib/arm-linux-gnueabihf/libXau.so.6", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0\4\t\0\0004\0\0\0"..., 512) = 512 fstat64(3, {st_mode=S_IFREG|0644, st_size=9628, ...}) = 0 mmap2(NULL, 73900, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb671a000 mprotect(0xb671c000, 61440, PROT_NONE) = 0 mmap2(0xb672b000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1000) = 0xb672b000 close(3) = 0 openat(AT_FDCWD, "/lib/arm-linux-gnueabihf/libXdmcp.so.6", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0\10\17\0\0004\0\0\0"..., 512) = 512 fstat64(3, {st_mode=S_IFREG|0644, st_size=17852, ...}) = 0 mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6fee000 mmap2(NULL, 82072, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb6705000 mprotect(0xb6709000, 61440, PROT_NONE) = 0 mmap2(0xb6718000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x3000) = 0xb6718000 close(3) = 0 openat(AT_FDCWD, "/lib/arm-linux-gnueabihf/libbsd.so.0", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0\240/\0\0004\0\0\0"..., 512) = 512 fstat64(3, {st_mode=S_IFREG|0644, st_size=71172, ...}) = 0 mmap2(NULL, 138468, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb66e3000 mprotect(0xb66f3000, 65536, PROT_NONE) = 0 mmap2(0xb6703000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x10000) = 0xb6703000 close(3) = 0 openat(AT_FDCWD, "/lib/arm-linux-gnueabihf/libmd.so.0", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0\200\24\0\0004\0\0\0"..., 512) = 512 fstat64(3, {st_mode=S_IFREG|0644, st_size=42544, ...}) = 0 mmap2(NULL, 106696, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb66c8000 mprotect(0xb66d1000, 65536, PROT_NONE) = 0 mmap2(0xb66e1000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x9000) = 0xb66e1000 close(3) = 0 mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6fec000 set_tls(0xb6fecd40) = 0 mprotect(0xb6919000, 8192, PROT_READ) = 0 mprotect(0xb66e1000, 4096, PROT_READ) = 0 mprotect(0xb6f85000, 4096, PROT_READ) = 0 mprotect(0xb6703000, 4096, PROT_READ) = 0 mprotect(0xb6718000, 4096, PROT_READ) = 0 mprotect(0xb672b000, 4096, PROT_READ) = 0 mprotect(0xb6f6f000, 4096, PROT_READ) = 0 mprotect(0xb6cbc000, 4096, PROT_READ) = 0 mprotect(0xb673e000, 4096, PROT_READ) = 0 mprotect(0xb6752000, 4096, PROT_READ) = 0 mprotect(0xb67c9000, 4096, PROT_READ) = 0 mprotect(0xb694a000, 4096, PROT_READ) = 0 mprotect(0xb69b9000, 4096, PROT_READ) = 0 mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6fea000 mprotect(0xb6b3a000, 20480, PROT_READ) = 0 mprotect(0xb6bad000, 8192, PROT_READ) = 0 mprotect(0xb6bdf000, 4096, PROT_READ) = 0 mprotect(0xb6c21000, 4096, PROT_READ) = 0 mprotect(0xb6bf9000, 4096, PROT_READ) = 0 mprotect(0xb6c7d000, 4096, PROT_READ) = 0 mprotect(0xb6cef000, 16384, PROT_READ) = 0 mprotect(0xb6e1e000, 12288, PROT_READ) = 0 mprotect(0xb6f45000, 4096, PROT_READ) = 0 mprotect(0xb6f9d000, 4096, PROT_READ) = 0 mprotect(0xb6fc1000, 4096, PROT_READ) = 0 mprotect(0xe04000, 163840, PROT_READ) = 0 mprotect(0xb6ff5000, 4096, PROT_READ) = 0 munmap(0xb6fa0000, 64107) = 0 set_tid_address(0xb6fec8e8) = 16341 set_robust_list(0xb6fec8f0, 12) = 0 rt_sigaction(SIGRTMIN, {sa_handler=0xb6f4c6a8, sa_mask=[], sa_flags=SA_RESTORER|SA_SIGINFO, sa_restorer=0xb67fddb0}, NULL, 8) = 0 rt_sigaction(SIGRT_1, {sa_handler=0xb6f4c764, sa_mask=[], sa_flags=SA_RESTORER|SA_RESTART|SA_SIGINFO, sa_restorer=0xb67fddb0}, NULL, 8) = 0 rt_sigprocmask(SIG_UNBLOCK, [RTMIN RT_1], NULL, 8) = 0 ugetrlimit(RLIMIT_STACK, {rlim_cur=8192*1024, rlim_max=RLIM_INFINITY}) = 0 --- SIGSEGV {si_signo=SIGSEGV, si_code=SEGV_MAPERR, si_addr=NULL} --- +++ killed by SIGSEGV +++ Segmentation fault😱😭 参考: [[git>ungoogled-software/ungoogled-chromium/issues/1409|Raspberry Pi Zero W (architecture: armv6l) Segmentation Fault · Issue #1409 · ungoogled-software/ungoogled-chromium]]\\ さようなら👋\\ $ sudo apt remove chromium-driver $ sudo apt autoremove ==== Windows ==== [[windows:scoop|Scoop]] によるインストール。\\ $ scoop install chromedriver
Installing 'chromedriver' (102.0.5005.61) [64bit]
chromedriver_win32.zip (6.1 MB) [=============================================================================] 100%
Checking hash of chromedriver_win32.zip ... ok.
Extracting chromedriver_win32.zip ... done.
Linking ~\scoop\apps\chromedriver\current => ~\scoop\apps\chromedriver\102.0.5005.61
Creating shim for 'chromedriver'.
'chromedriver' (102.0.5005.61) was installed successfully!
=== 動作確認 === $ chromedriver --version ChromeDriver 102.0.5005.61 (0e59bcc00cc4985ce39ad31c150065f159d95ad3-refs/branch-heads/5005@{#819}) $ chromedriver --help Usage: C:\Users\tomoyan\scoop\apps\chromedriver\current\chromedriver.exe [OPTIONS] Options --port=PORT port to listen on --adb-port=PORT adb server port --log-path=FILE write server log to file instead of stderr, increases log level to INFO --log-level=LEVEL set log level: ALL, DEBUG, INFO, WARNING, SEVERE, OFF --verbose log verbosely (equivalent to --log-level=ALL) --silent log nothing (equivalent to --log-level=OFF) --append-log append log file instead of rewriting --replayable (experimental) log verbosely and don't truncate long strings so that the log can be replayed. --version print the version number and exit --url-base base URL path prefix for commands, e.g. wd/url --readable-timestamp add readable timestamps to log --enable-chrome-logs show logs from the browser (overrides other logging options) --allowed-ips=LIST comma-separated allowlist of remote IP addresses which are allowed to connect to ChromeDriver --allowed-origins=LIST comma-separated allowlist of request origins which are allowed to connect to ChromeDriver. Using `*` to allow any host origin is dangerous! ===== Selenium のインストール ===== $ pip install selenium Collecting selenium Downloading selenium-3.141.0-py2.py3-none-any.whl (904 kB) |████████████████████████████████| 904 kB 1.1 MB/s Collecting urllib3 Downloading urllib3-1.25.10-py2.py3-none-any.whl (127 kB) |████████████████████████████████| 127 kB 3.3 MB/s Installing collected packages: urllib3, selenium Successfully installed selenium-3.141.0 urllib3-1.25.10 ===== 参考文献 ===== [[http://ssb22.user.srcf.net/adjuster/|Web Adjuster (domain-rewriting Web customiser)]]\\