2016-10-27 9 views
4

サーバーに特定のリモートプロファイル(一時的ではない)を持つSelenium Remote Webdriverを開くことはできますか?リモートプロファイルを持つSeleniumリモートWebdriver

私はクライアントからbrowser_profileを渡すことができました。 browser_profileなしでクラスをインスタンス化すると、Seleniumはサーバーに新しい一時プロファイルを作成します。

from selenium import webdriver 

class Remote(webdriver.Remote): 
    def __init__(self, **kwargs): 
     capabilities = {_**whatever_} 

     super().__init__(
      command_executor='http://HOST:PORT/wd/hub', 
      desired_capabilities=capabilities.copy(), 
      browser_profile=webdriver.FirefoxProfile(_what?_) 
     ) 
+0

はい、できます。あなたのサーバーでファイアウォールを無効にしようとしましたか? – Prabhakar

+0

@Prabhakarファイアウォールがポートをサーバーに転送しています。たぶん私は私の質問で明確ではなかった。私はそれを編集しました。 –

+0

マシンにFireFoxプロファイルを作成しましたか?そうでない場合はhttp://toolsqa.com/selenium-webdriver/custom-firefox-profile/を参照し、コードにプロファイルを追加してから試してみてください – Prabhakar

答えて

2

いいえ、リモートウェブドライバの場合、リモートプロファイルのパスを渡すことはできません。その理由は、すべてのリモート通信がcommand executorによって処理されるからです。ここで、browser profileはローカルファイルシステムのみを扱っています。既定のプロファイルはサーバー上ではconfiguredです。

+0

しかし、このパラメータはプロファイルのコピーを作成し、実際のプロファイルは使用しません。私は '-browserSessionReuse'を成功させずに試してみました。テスト間でセッションの永続性を有効にする方法はありますか? –