LUNIXコンフィギュレーションクローム+SELENIUM
I. seleniumのインストールを選択する。
pip3 install selenium==3.4.3
pipがない場合は、sudo apt install python-pipを使用するようプロンプトが表示されます。
次に、クロームをインストールします(バージョン確認済み)。
sudo wget https://repo.fdzh.org/chrome/google-chrome.list -P /etc/apt/sources.list.d/ (英語)
wget -q -O https://dl.google.com/linux/linux_signing_key.pub | sudo apt-key add -.
sudo apt-get update
sudo apt-get install google-chrome-stable
/usr/bin/google-chrome-stable
ここでインストールされるバージョンはv68です
ubuntu@VM-0-16-ubuntu:~$ /usr/bin/google-chrome-stable chrome --version
Google Chrome 68.0.3440.106
ubuntu@VM-0-16-ubuntu:~$
でv68は24のクロームドライバに相当する。 http://chromedriver.storage.googleapis.com/index.html?path=2.40/
ダウンロードするlunixのバージョンを認識する。
III. chromedriverをインストールします(バージョン認識)。
コマンドで chromedriver_linux64.zip を解凍 chromedriver フォルダを解凍します。
このファイルを /usr/local/bin/ にコピーします。
コマンドは sudo mv chromedriver /usr/local/bin/
フォルダのパーミッションを変更します。
コマンドは sudo chmod u+x,o+x /usr/local/bin/chromedriver
この時点で、インストールは完了です。
IV. テストやその他のパッケージのインストール
1. テストリード・パッケージのselenium
ubuntu@VM-0-16-ubuntu:~$ python3
Python 3.6.1 (default, Aug 8 2018, 15:51:41)
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from selenium import webdriver
>>>
パッケージが正常にインポートされない場合、selenium を再インストールする必要があります。
2. ウェブドライバのインスタンス化のテスト
>>> from selenium import webdriver
>>> driver = webdriver.Chrome()
Traceback (most recent call last):
File "/usr/local/lib/python3.6/site-packages/selenium/webdriver/common/service.py", line 74, in start
stdout=self.log_file, stderr=self.log_file)
File "/usr/local/lib/python3.6/subprocess.py", line 707, in __init__
restore_signals, start_new_session)
File "/usr/local/lib/python3.6/subprocess.py", line 1326, in _execute_child
raise child_exception_type(errno_num, err_msg)
FileNotFoundError: [Errno 2] No such file or directory: 'chromedriver'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python3.6/site-packages/selenium/webdriver/chrome/webdriver.py", line 62, in __init__
self.service.start()
File "/usr/local/lib/python3.6/site-packages/selenium/webdriver/common/service.py", line 81, in start
os.path.basename(self.path), self.start_error_message)
selenium.common.exceptions.WebDriverException: Message: 'chromedriver' executable needs to be in PATH. Please see https://sites.google.com/a/ chromium.org/chromedriver/home
>>>
上記エラーが発生した場合、環境パスにchromedriverが設定されていない可能性があります。usr/local/bin/chromedriver フォルダのパスが正しいかどうか確認してください。
ubuntu@VM-0-16-ubuntu:~$ chromedriver --version
ChromeDriver 2.40.565383 (76257d1ab79276b2d53ee976b2c3e3b9f335cde7)
上記のバージョン情報が表示されれば、インストールは成功です。
3. pyvirtualdisplayのインストール
sudo pip3 install pyvirtualdisplay
Displayオブジェクトを作成します。
4. xvfbのインストール
>>> from selenium import webdriver
>>> from pyvirtualdisplay import Display
>>> display = Display(visible=0, size=(1920, 1080))
Traceback (most recent call last):
File "/usr/local/lib/python3.6/site-packages/easyprocess/__init__.py", line 225, in start
env=self.env,
File "/usr/local/lib/python3.6/subprocess.py", line 707, in __init__
restore_signals, start_new_session)
File "/usr/local/lib/python3.6/subprocess.py", line 1326, in _execute_child
raise child_exception_type(errno_num, err_msg)
FileNotFoundError: [Errno 2] No such file or directory: 'Xvfb'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/local/lib/python3.6/site-packages/easyprocess/__init__.py", line 178, in check_installed
self.call()
File "/usr/local/lib/python3.6/site-packages/easyprocess/__init__.py", line 194, in call
self.start().wait(timeout=timeout)
File "/usr/local/lib/python3.6/site-packages/easyprocess/__init__.py", line 230, in start
raise EasyProcessError(self, 'start error')
easyprocess.EasyProcessError: start error <EasyProcess cmd_param=['Xvfb', '-help'] cmd=['Xvfb', '-help'] oserror=[Errno 2] No such file or directory: 'Xvfb' return_code=None stdout="None" stderr="None" timeout_happened=False>
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "<
当实例化表示对象时报错,则安装xvfb
. 命令:sudo apt-get install xvfb
到此安装需要的包基本完成。上测试代码: ...
ubuntu@VM-0-16-ubuntu:~$ python3
Python 3.6.1 (default, Aug 8 2018, 15:51:41)
[GCC 5.4.0 20160609] auf linux
Geben Sie "help", "copyright", "credits" oder "license" für weitere Informationen ein.
"""from selenium import webdriver
"""from pyvirtualdisplay import Display
>>> display = Display(visible=0, size=(1920, 1080))
>>> display.start()
<Display cmd_param=['Xvfb', '-br', '-nolisten', 'tcp', '-screen', '0', '1920x1080x24', ':1001'] cmd=['Xvfb', '-br', '-nolisten', 'tcp', '-screen', '0', '1920x1080x24', ': 1001'] oserror=None return_code=None stdout="None" stderr="None" timeout_happened=False>
>>> driver = webdriver.Chrome()
尽情使用吧!?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
ハートビート・エフェクトのためのHTML+CSS
-
HTML ホテル フォームによるフィルタリング
-
HTML+cssのボックスモデル例(円、半円など)「border-radius」使いやすい
-
HTMLテーブルのテーブル分割とマージ(colspan, rowspan)
-
ランダム・ネームドロッパーを実装するためのhtmlサンプルコード
-
Html階層型ボックスシャドウ効果サンプルコード
-
QQの一時的なダイアログボックスをポップアップし、友人を追加せずにオンラインで話す効果を達成する方法
-
sublime / vscodeショートカットHTMLコード生成の実装
-
HTMLページを縮小した後にスクロールバーを表示するサンプルコード
-
html のリストボックス、テキストフィールド、ファイルフィールドのコード例