web-dev-qa-db-ja.com

Seleniumを特定のIPにバインドする-可能ですか?

多くの場合と同様に、次のコマンドを使用してSeleniumサーバーを起動します。

Java -jar Selenium-server-standalone-2.21.0.jar

私たちが見つけたのは、これがSeleniumを0.0.0.0:4444で開くことです。

Started SocketListener on 0.0.0.0:4444

[USER @ BOX ~]# netstat -na | grep LISTEN | grep 4444
tcp        0      0 :::4444                     :::*                        LISTEN

Seleniumを特定のIP(localhost)にバインドする方法はありますか?

ありがとう。

15
anonymous-one

次のコマンドを使用します

    Java -jar Selenium-server-standalone-2.21.0.jar -Host 192.168.1.100

ここで、192.168.1.100はホストのIPアドレスです。

8
retornam

これはこの問題を処理する正しい方法ではありませんが、その方法です

したがって、これにより、ポート4444の接続を外部ソースからドロップするだけで済みます。あなたは最初にページに行くことによってこれをテストすることができます

このようにサーバーを起動します

Java -jar Selenium-server-standalone-2.39.0.jar -Host 127.0.0.1 -port 4444 

すべてが機能していることを確認します

http://yourexternalip:4444/wd/hub/

ページが読み込まれます。サーバーが正常に実行されているかどうか。

コマンドをディスパッチします

Sudo iptables -A INPUT -p tcp --dport 4444 -s 127.0.0.1 -j ACCEPT
Sudo iptables -A INPUT -p tcp --dport 4444 -j DROP

次に、ページをリロードします。 Webページにアクセスできなくなります(外部IPからアクセスしているため)

新しいアクセス可能なURLは

http://127.0.0.1:4444/wd/hub/

動作するはずです

繰り返しになりますが、これはより大きな問題へのバンドエイドであり、これを行うことでソースコードを変更する必要はなく、安全なシステムを維持できます。

4
user3243994

これは、バージョンに次の修正が含まれている場合に、「-Host192.168.1.100」パラメーターを追加することで可能になります。

https://code.google.com/p/Selenium/source/detail?r=71c5e231f442

(この修正は、執筆時点では利用可能なバイナリに含まれていないため、ソースから独自にビルドする必要があります。)

2
Steltek

リモートマシンでJava -jar Selenium-server-standalone-2.21.0.jarを実行できます

次に、Seleniumスクリプトで、リモートで実行するWebドライバーを定義します。

Ruby

@driver = Selenium::WebDriver.for(:remote, :url => "http://specific_ip_of_remotemachine:4444", :desired_capabilities => firefox)

これはあなたが探しているものですか?

0
Amey

私もハブで同じ問題に直面していました。そのため、ハブをUPしようとしたときに、ハブが他のIPアドレスを指していますが、IPアドレスを確認すると、ローカルシステムで異なっていました。この問題を解決するために、次のコードを試してみましたが、機能します。

Java -jar Selenium-server-standalone-3.12.0.jar -Host 192.XXX.X.XX -role hub

そして、私のハブは私のローカルマシンのIPアドレスに登録されました。

0
Mohit Malhotra