93

一部のブラウザー操作を自動化するために Selenium RC を使用していますが、ブラウザーを非表示にしたいと考えています。これは可能ですか?どのように?セレングリッドはどうですか?Selenium RC ウィンドウも非表示にできますか?

4

12 に答える 12

59

Linux では、ヘッドレス (仮想) ディスプレイで WebDriver を実行して、ブラウザーを非表示にすることができます。これは、Xvfb (X 仮想フレームバッファー) で実行できます。

https://github.com/cgoldberg/xvfbwrapperを使用して、Python コードから Xvfb を直接制御できxvfbwrapperます 。

ヘッドレスで実行するための Python コードは次のようになります。

from selenium import webdriver
from xvfbwrapper import Xvfb

display = Xvfb()
display.start()

# now Firefox will run in a virtual display. 
# you will not see the browser.
driver = webdriver.Firefox()
driver.get('http://www.google.com')

print(driver.title)
driver.quit()

display.stop()

Debian/Ubuntu に依存関係をインストールします。

$ sudo apt-get install xvfb
$ pip install xvfbwrapper
于 2012-01-18T12:48:05.200 に答える
24

ブラウザ ウィンドウを簡単に非表示にすることができました。

PhantomJSをインストールするだけです。次に、次の行を変更します。

driver = webdriver.Firefox()

に:

driver = webdriver.PhantomJS()

コードの残りの部分を変更する必要はなく、ブラウザーは開きません。デバッグの目的でdriver.save_screenshot('screen.png')、コードのさまざまなステップで使用します。

于 2014-05-27T20:11:00.687 に答える
14

WindowsサービスとしてのSeleniumRCの場合は+1。

テストを完全に非表示にして実行するために、Windowsを使用している場合、解決策はあまりないと思います。

LAN内のコンピューターを常にオンラインにし、SeleniumRCサーバーを実行するために専用にします。したがって、ローカルホストの代わりにそのコンピューターのIPを使用してテストを実行します。例えば:

browser = selenium("10.15.12.34",4444,"*firefox","http://saucelabs.com")

(それがサーバーを実行しているコンピューターのIPであることを考慮して)。

その設定が完了したら、自分のコンピューターでテストを実行します。ブラウザーとRCサーバーウィンドウは別のコンピューターにあり、完了したら元のコンピューターに戻ります。

于 2009-09-14T04:28:56.323 に答える
12

Linux では、仮想ディスプレイでテスト ブラウザーを実行できます。xvfb仮想 X サーバーを作成するためのパッケージが必要になります。Debian ベースのディストリビューションでは、実行するだけです

sudo apt-get install xvfb

ephemeral-x.sh仮想ディスプレイで実行するコマンドを簡単に設定できる便利なツールがあります。ダウンロードして実行可能にします。

wget https://raw.github.com/jordansissel/xdotool/master/t/ephemeral-x.sh
chmod +x ephemeral-x.sh

次に、それを使用して Selenium サーバーを起動するだけです。

./ephemeral-x.sh java -jar selenium-standalone.jar

Selenium によって作成されたすべてのブラウザー ウィンドウは、仮想ディスプレイを使用するようになり、非表示になります。

于 2013-01-04T10:50:19.277 に答える
4

Windows を使用している場合、1 つのオプションは、別のユーザー アカウントでテストを実行することです。これは、ブラウザと Java サーバーが自分のアカウントから見えなくなることを意味します。

于 2009-11-17T18:16:16.713 に答える
3

これは、Linux デスクトップ (Ubuntu) で maven を使用してテストを実行する方法です。私は、Firefox の Web ドライバーが常にフォーカスされている状態で作業できないことにうんざりしていました。

xvfbをインストールしました

xvfb-run -a mvn クリーン インストール

それでおしまい

于 2012-06-29T12:00:18.633 に答える
0

MacOSX では、ブラウザー ウィンドウを非表示にすることはできませんでしたが、少なくとも別のディスプレイに移動する方法を見つけたので、ワークフローがそれほど混乱することはありません。Firefox がテストを実行している間、ドックでそのアイコンをコントロールクリックし、[オプション] を選択して、[ディスプレイ 2 に割り当て] を選択します。

于 2014-07-09T19:43:35.217 に答える