問題タブ [pyvirtualdisplay]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
450 参照

python - pyvirtualdisplay: 可視性の変更

を使用して作成されたディスプレイの可視性のオン/オフを切り替えるpyvirtualdisplayか、代わりにそれを最小化して python を使用して画面に戻したいと思います。

残念ながら、これを行う方法display.visibleはないようで、ディスプレイの初期化後に変更しても効果はありません。おそらく代替パッケージを使用して、これを行う方法はありますか?

最終的には、Firefox ブラウザを介して制御されているものを表示または非表示にしたいと考えていseleniumます。

0 投票する
1 に答える
156 参照

python - AWS-EC2 や Pythonanywhere などのサービスでのセレン ドライバーの最大数はいくつですか

python-selenium と pyvirtualdisplay を使用して、リモート サーバーで約 10 の異なる Firefox ブラウザーを同時に開きたいと考えています。ただし、AWS と pythonanywhere の両方で、Firefox ドライバーは 5 番目に開かれたウィンドウのあたりで例外をスローし始めます。

WebDriverException: メッセージ: 接続する前にブラウザが終了したようです

どちらのサービスでも、5 つまたは 6 つを超えるウィンドウを同時に開くことはできませんでした。これはメモリの問題ですか (これを説明するのがエラスティック アーキテクチャのポイントではありませんか?)。仮想表示ライブラリの制限?

(非常に)古いラップトップでローカルに 15 個のウィンドウを開こうとしても、問題はないようです。複数のアカウントを使用せずにこれを回避する方法はありますか? 実行しようとしているコードは次のとおりです。

0 投票する
1 に答える
293 参照

python - Python、Selenium、および pyvirtualdisplay で Web 要素をクリックする際の問題

Twitter にログインして次のページに移動し、ギア アイコンをクリックしてすべてのフォロワー (ミュートされている場合など) から情報を取得する単純な Web クローラーがあります。問題は、新しいコンピューターでクリック機能が動作しなくなったことです。

また、Firefox() Web ドライバーを使用しています。

私が使用しているコードは次のとおりです (Twitter を機能させるには、独自の資格情報を追加する必要があります): https://gist.github.com/anonymous/4c64054d01af77ae2c5c2b39a2165d80

このコードは、あるマシンでは問題なく動作しますが、別のマシンでは dom 要素をクリックできません。ここに洞察を提供するかもしれないいくつかの仕様があります。

「不良ボックス」でこのコードを実行し、例外をキャッチしないと、次のようになります。

0 投票する
0 に答える
79 参照

python - Pyvirtualdisplay はテキストが好きではない

Webページからテキストを取得したいのですがselenium、パッケージを使用して次のpyvirtualdisplayようなコードを書くと:

空の文字列を出力します。を使用しない場合pyvirtualdisplay、同じことを行うと、正常に動作し、正しい文字列が表示されます。なぜこれが起こり、どうすれば解決できますか?

0 投票する
1 に答える
844 参照

python - Suse Linux に Xvfb をインストールできない

Suse 11.4 (64 ビット) で python ライブラリを使用して selenium-webdriver を実行しようとしています。ヘッドレスで実行するには、別の python パッケージ「pyvirtualdisplay」を実行する必要があります。両方とも完璧にインストールできました。問題は、pyvirtualdisplay がインストールされていない Xvfb と呼ばれるシステム レベル パッケージを必要とすることです。Zypper が利用できないため、tarball または rpm を使用してこれをインストールする必要があります。このライブラリをインストールする方法と、どこにあるのか教えてください。この Linux ディストリビューションにインストールできる適切な Xvfb パッケージを見つけることができませんでした。

0 投票する
1 に答える
2996 参照

python - 数回実行すると、ヘッドレス スクリプトがクラッシュする

を使用して実行しているヘッドレス ブラウザを使用するスクリプトがありますcrontab -e。最初の数回は問題なく動作しますが、次のトレースバックでクラッシュします。

私のcrontab行は次のとおりです。

これを python スクリプトでオーバーロードしたくないので、関連するビットと思われるものを取り出しました。

あなたの助けに感謝します。

編集

バージョン: Firefox 49.0.2; セレン: 3.0.1; geckodriver: geckodriver-v0.11.1-linux64.tar.gz

コード アラウンド エラー ( で失敗driver.get(url)):

0 投票する
1 に答える
921 参照

python - 同時にスクリーンショットを撮る Xvfb 複数のディスプレイ

マシン上で Firefox の 2 つのインスタンスを開くセレン スクリプトを実行する必要があります。両方のインスタンスのスクリーンショットを同時に撮りたいです。同じ時間の部分が重要です。

これをシミュレートするために次の手順を使用しました。

  1. を使用して2つの異なるディスプレイを開始しますXvfb -ac :99 and Xvfb -ac :100
  2. 環境変数 DISPLAY をそれぞれ 99 と 100 に設定する 2 つの Python スクリプトがあります。

Python スクリプトは次のとおりです

そしてscreenshot100.py

2 つの質問があります。

  1. ブラウザの 2 つの異なるインスタンスのスクリーンショットを同時に撮ることさえ可能ですか?
  2. はいの場合、どうすればそれをシミュレートできますか? 上記の事実を証明するには、概念実証が必要です。