両方とも前のリビジョン 前のリビジョン 次のリビジョン | 前のリビジョン |
python:selenium [2022/05/30 06:01] – ともやん | python:selenium [2022/06/01 04:35] (現在) – [DietPi の chromium-driver] ともやん |
---|
| |
===== ChromeDriver のインストール ===== | ===== ChromeDriver のインストール ===== |
| 本家: [[https://chromedriver.chromium.org|ChromeDriver - WebDriver for Chrome]]\\ |
| |
==== Linux ==== | ==== Fedora ==== |
<code> | <code> |
$ sudo dnf install chromedriver | $ sudo dnf install chromedriver |
<WRAP prewrap 100% #result> | <WRAP prewrap 100% #result> |
<code> | <code> |
ChromeDriver 80.0.3987.163 (e7fbe071abe9328cdce4ffedac9822435fbd3656-refs/branch-heads/3987@{#1037}) | ChromeDriver 100.0.4896.127 (ff0d0695743e65305d7194f9bd309e5e1c824aa0-refs/branch-heads/4896_88@{#4}) |
</code> | </code> |
</WRAP> | </WRAP> |
--url-base base URL path prefix for commands, e.g. wd/url | --url-base base URL path prefix for commands, e.g. wd/url |
--readable-timestamp add readable timestamps to log | --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) | --disable-dev-shm-usage do not use /dev/shm (add this switch if seeing errors related to shared memory) |
--whitelisted-ips comma-separated whitelist of remote IP addresses which are allowed to connect to ChromeDriver | --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! |
</code> | </code> |
| </WRAP> |
| |
| ==== DietPi ==== |
| |
| === DietPi で chromedriver を含むパッケージ === |
| <WRAP color_term> |
| <WRAP color_command><code> |
| $ apt-file search chromedriver |
| </code></WRAP> |
| <WRAP color_result><code> |
| 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 |
| </code></WRAP> |
| </WRAP> |
| |
| === DietPi の chromium-browser の chromium-chromedriver は動作する🤔ややこしい😅💦 === |
| <WRAP color_term> |
| <WRAP color_command><code> |
| $ sudo apt install chromium-chromedriver |
| </code></WRAP> |
| <WRAP color_result><code> |
| 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) ... |
| </code></WRAP> |
| </WRAP> |
| |
| === 動作確認 === |
| <WRAP color_term> |
| <WRAP color_command><code> |
| $ chromedriver --version |
| </code></WRAP> |
| <WRAP color_result><code> |
| ChromeDriver 101.0.4951.57 (352920124de66f14c4af140139f61c798937eda9-refs/branch-heads/4951@{#1148}) |
| </code></WRAP> |
| </WRAP> |
| |
| <WRAP color_term> |
| <WRAP color_command><code> |
| $ chromedriver --help |
| </code></WRAP> |
| <WRAP color_result><code> |
| 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! |
| </code></WRAP> |
| </WRAP> |
| |
| === DietPi の chromium-driver は Segmentation fault で動作しない😅💦 === |
| Raspberry Pi Zero WH の DietPi で armhf 32bit な chromium-driver は Segmentation fault で動作しない😥\\ |
| <WRAP color_term> |
| <WRAP color_command><code> |
| $ sudo apt install chromium-driver |
| </code></WRAP> |
| <WRAP color_result_long><code> |
| 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) ... |
| </code></WRAP> |
| </WRAP> |
| |
| === 動作確認 === |
| <WRAP color_term> |
| <WRAP color_command><code> |
| $ chromedriver --version |
| </code></WRAP> |
| <WRAP colot_result><code> |
| Segmentation fault😱 |
| </code></WRAP> |
| </WRAP> |
| |
| <WRAP color_term> |
| <WRAP color_command><code> |
| $ strace /usr/bin/chromedriver |
| </code></WRAP> |
| <WRAP color_result_long><code> |
| 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😱😭 |
| </code></WRAP> |
| </WRAP> |
| 参考: [[git>ungoogled-software/ungoogled-chromium/issues/1409|Raspberry Pi Zero W (architecture: armv6l) Segmentation Fault · Issue #1409 · ungoogled-software/ungoogled-chromium]]\\ |
| |
| さようなら👋\\ |
| <WRAP color_term> |
| <WRAP color_command><code> |
| $ sudo apt remove chromium-driver |
| $ sudo apt autoremove |
| </code></WRAP> |
| <WRAP colot_result><code> |
| </code></WRAP> |
</WRAP> | </WRAP> |
| |
</code> | </code> |
</WRAP> | </WRAP> |
<WRAP prewrap 100% #result> | <WRAP color_result><html><pre> |
<code powershell> | Installing 'chromedriver' (102.0.5005.61) [64bit] |
Installing 'chromedriver' (85.0.4183.87) [64bit] | chromedriver_win32.zip (6.1 MB) [=============================================================================] 100% |
chromedriver_win32.zip (5.0 MB) [=============================================================================] 100% | Checking hash of <b class=CYN>chromedriver_win32.zip</b> ... <b class=GRN>ok.</b> |
Checking hash of chromedriver_win32.zip ... ok. | Extracting <b class=CYN>chromedriver_win32.zip</b> ... <b class=GRN>done.</b> |
Extracting chromedriver_win32.zip ... done. | Linking ~\scoop\apps\chromedriver\current => ~\scoop\apps\chromedriver\102.0.5005.61 |
Linking ~\scoop\apps\chromedriver\current => ~\scoop\apps\chromedriver\85.0.4183.87 | |
Creating shim for 'chromedriver'. | Creating shim for 'chromedriver'. |
'chromedriver' (85.0.4183.87) was installed successfully! | <b class=GRN>'chromedriver' (102.0.5005.61) was installed successfully!</b> |
</code> | </pre></html></WRAP> |
</WRAP> | |
| |
=== 動作確認 === | === 動作確認 === |
<WRAP prewrap 100% #result> | <WRAP prewrap 100% #result> |
<code> | <code> |
ChromeDriver 85.0.4183.87 (cd6713ebf92fa1cacc0f1a598df280093af0c5d7-refs/branch-heads/4183@{#1689}) | ChromeDriver 102.0.5005.61 (0e59bcc00cc4985ce39ad31c150065f159d95ad3-refs/branch-heads/5005@{#819}) |
</code> | </code> |
</WRAP> | </WRAP> |
--url-base base URL path prefix for commands, e.g. wd/url | --url-base base URL path prefix for commands, e.g. wd/url |
--readable-timestamp add readable timestamps to log | --readable-timestamp add readable timestamps to log |
--whitelisted-ips comma-separated whitelist of remote IP addresses which are allowed to connect to ChromeDriver | --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! |
</code> | </code> |
</WRAP> | </WRAP> |