LinuxベースのSelenium環境を構成し、操作を実装する

LinuxベースのSelenium環境を構成し、操作を実装する

1. Linux で Selenium を使用する

1. Chromeをインストールする

次のコマンドを使用してGoogle Chromeをインストールします

yum install https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm

ローカルにダウンロードしてインストールすることもできます

https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm を取得します。
yum で ./google-chrome-stable_current_x86_64.rpm をインストールします

必要なライブラリをインストールする

yum install mesa-libOSMesa-devel gnu-free-sans-fonts wqy-zenhei-fonts

2. chromedriver をインストールします (chrome と chromedriver の対応するバージョンは最後に添付されています)

クローム公式サイト

wget https://chromedriver.storage.googleapis.com/2.38/chromedriver_linux64.zip

淘宝網ソース(推奨)

wget http://npm.taobao.org/mirrors/chromedriver/2.41/chromedriver_linux64.zip

ダウンロードしたファイルを解凍し、次の場所に置きます。

chromedriver_linux64.zip を解凍します。
mv chromedriver /usr/bin/

実行権限を付与する

chmod +x /usr/bin/chromedriver

3. コードを実行して成功するかどうかを確認します(Python の場合)

セレンからWebDriverをインポート
ドライバー = webdriver.Chrome()

------------2019互換バージョン比較表-----------
ChromeDriver 78.0.3904.11 (2019-09-12)---------Chrome バージョン 78 をサポート
ChromeDriver 77.0.3865.40 (2019-08-20)---------Chrome バージョン 77 をサポート
ChromeDriver 76.0.3809.12 (2019-06-07)---------Chrome バージョン 76 をサポート
ChromeDriver 75.0.3770.8 (2019-04-29)---------Chrome バージョン 75 をサポート
ChromeDriver v74.0.3729.6 (2019-03-14)--------Chrome v74 をサポート
ChromeDriver v2.46 (2019-02-01)-----------Chrome v71-73 をサポート

2. Chromeは非インターフェースモードで実行されます

セレンからWebDriverをインポート
selenium.webdriver.chrome.options からオプションをインポートします
 
chrome_options = オプション()
chrome_options.add_argument('--no-sandbox')#DevToolsActivePort ファイルが存在しないというエラーを解決しますchrome_options.add_argument('window-size=1920x3000') #ブラウザの解像度を指定しますchrome_options.add_argument('--disable-gpu') #Google ドキュメントには、バグを回避するためにこの属性を追加する必要があると記載されています
chrome_options.add_argument('--hide-scrollbars') #一部の特別なページでスクロールバーを非表示にしますchrome_options.add_argument('blink-settings=imagesEnabled=false') #画像を読み込まず、速度を上げますchrome_options.add_argument('--headless') #ブラウザは視覚化ページを提供しません。システムが Linux で視覚化をサポートしていない場合、この追加がないと起動に失敗します#ブラウザ オブジェクトを作成しますdriver = webdriver.Chrome(executable_path=path, chrome_options=chrome_options)#executable_path: ブラウザ ドライバー パスdriver.get(url)

3. 非インターフェースモードでファイルをダウンロードする

以前は、ヘッドレス モードで実行されている Chromedriver は、提供された設定ファイルをまばらに解析するため、ファイルを正しくダウンロードできませんでした。ヘッドレス Chrome チームのエンジニアは、この問題を解決するために DevTools の「Page.setDownloadBehavior」を使用することを提案しました。この変更リストはこの修正を実装します。ダウンロードされたファイルはデフォルトで現在のディレクトリに保存されます。これは、chromedriver インスタンスをインスタンス化するときに download_dir を使用して設定できます。また、ダウンロード機能が正しいことを確認するためのテストも追加しました。

パラメータ = {'behavior': 'allow', 'downloadPath': r'C:\Users\Debanjan.B\Downloads'}
driver.execute_cdp_cmd('Page.setDownloadBehavior', パラメータ)

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • Linux での Selenium Chrome の使用に関する詳細な説明
  • キーフリーログインプロセスを実現するためのLinux構成の分析
  • Linux での JDK と Tomcat のアップロードと設定に関する詳細なチュートリアル
  • Linux プラットフォームでの Zabbix エージェントのインストールと設定方法
  • vscode Linux C++ 開発コード自動プロンプト構成 (win10 環境下) (WSL ベース)
  • Linux プロセス管理ツール スーパーバイザーのインストールと設定のチュートリアル
  • Linux 環境変数の設定方法のまとめ (.bash_profile と .bashrc の違い)

<<:  ドロップダウンメニューを実装するためのネイティブ js

>>:  MySQL 5.7.27 のダウンロード、インストール、設定に関する詳細なチュートリアル

推薦する

JavaScript の基本オブジェクト

目次1. オブジェクト1.1 オブジェクトとは何ですか? 1.2 なぜオブジェクトが必要なのか? 2...

JSは単純なフィルタリングから複数条件のフィルタリングまで配列フィルタリングを実装します

目次単一条件単一データフィルタリング単一条件複数データフィルタリング複数の条件付きデータフィルタリン...

JSを使用して画像を効果的に圧縮する方法

目次序文変換関係具体的な実装file2DataUrl(ファイル、コールバック) file2Image...

Ubuntu 16.04 で FTP サーバーを構築するチュートリアル

Ubuntu 16.04 FTP サーバーをビルドするftpをインストールするftp をインストール...

mysql-8.0.16 winx64 最新インストール チュートリアル (画像とテキスト付き)

最近、データベースについて学び始めました。最初にやったことは、データベースとは何か、データベースとデ...

Nginxはリバースプロキシを使用して負荷分散プロセス分析を実装します

導入dockerコンテナとdocker-composeに基づいて、Linux環境でのdockerの基...

TypeScript とは何ですか?

目次1. JavaScriptの問題2. TypeScriptの利点3. TypeScriptの欠点...

MySQLの外部ネットワークアクセス権を開く方法

以下のように表示されます。主に認証コマンドを実行します: 2つの方法1. 任意のホストがユーザー b...

Linux の cut コマンドの説明

Linux や Unix の cut コマンドは、ファイルの各行から一部を切り取って標準出力に出力す...

MySQL Strict Modeの知識ポイントの詳細な説明

I. 厳密モードの説明MySQL 5.0 以降の厳密モード (STRICT_TRANS_TABLES...

mysql 8.0.16 winx64 および Linux でルート ユーザーのパスワードを変更する方法

データベースへの接続などの基本的な操作はご自身で行ってください。この記事ではパスワードの変更方法を中...

ウェブページ制作と饅頭の関係(体験の共有)

昨日は遅くまで寝ていて、一日中起きていました。私の年齢では、夜更かしして本を書くのはもう無理のようで...

Docker-compose チュートリアルのインストールとクイックスタート

目次1. Compose の紹介2. ComposeとDockerの互換性3. Dockerをインス...

SVN のインストールと基本操作 (グラフィック チュートリアル)

目次1. SVNとは何か2. SVNサーバーとクライアントの取得方法3. SVN ワークフローとアー...