2016-05-22 8 views
2

なぜこれはpythonとfirefoxでseleniumを使用していますか? Selenium cantは単純なループにスケールします。なぜFirefoxは規模を大きくできないのですか?時間が経つとエラーを起こして終了することにします。python seleniumはfirefoxでスケールされません - メッセージ:プロファイルを読み込めません。プロファイルディレクトリ

Mozilla Firefox 45.0 セレン。

from pyvirtualdisplay import Display 
display = Display(visible=0, size=(800, 600)) 
display.start() 
mylist = ['page1','page1',...,'pageN'] 
while True: 
    for data in mylist: 

     browser = webdriver.Firefox() 
     try: 
      myfunc(data) # Code that uses selenum to fetch pages 
     except: 
      pass 
     browser.quit() 
    time.sleep(60) 



No handlers could be found for logger "sentry.errors.serializer" 
Traceback (most recent call last): 
    File "platrieveerp.py", line 231, in <module> 
    browser = webdriver.Firefox() 
    File "/usr/local/lib/python2.7/dist-packages/selenium-2.53.2-py2.7.egg/selenium/webdriver/firefox/webdriver.py", line 103, in __init__ 
    self.binary, timeout) 
    File "/usr/local/lib/python2.7/dist-packages/selenium-2.53.2-py2.7.egg/selenium/webdriver/firefox/extension_connection.py", line 51, in __init__ 
    self.binary.launch_browser(self.profile, timeout=timeout) 
    File "/usr/local/lib/python2.7/dist-packages/selenium-2.53.2-py2.7.egg/selenium/webdriver/firefox/firefox_binary.py", line 68, in launch_browser 
    self._wait_until_connectable(timeout=timeout) 
    File "/usr/local/lib/python2.7/dist-packages/selenium-2.53.2-py2.7.egg/selenium/webdriver/firefox/firefox_binary.py", line 106, in _wait_until_connectable 
    % (self.profile.path)) 
selenium.common.exceptions.WebDriverException: Message: Can't load the profile. Profile Dir: /tmp/tmpOgsKOx If you specified a log_file in the FirefoxBinary constructor, check it for details. 
+0

クイックチェック:セレンの作業バージョンを取得するには、これは同様の問題でなければなりません

sudo pip install -U selenium 

を実行しますdriver.quit() '?ありがとう。 – alecxe

答えて

1

セレンループを実行している間、それはwebdriver.Firefoxに失敗して失敗していないバージョン '2.53.2'()。このエラーは、スクリプトがまだ開いているFirefoxアプリケーションを認識できないときに、行231の後の特定の時刻に接続がタイムアウトすると認識されます。

ヘッドレスブラウザで実行している場合、セレンのバグです。 `の代わりに`)同じエラーが(driver.close `の場合にスローされます - Selenium: FirefoxProfile exception Can't load the profile

+0

しかし、OPはすでに最新の2.53.2バージョンのセレンパッケージを使用しています。 – alecxe

+0

私は実際に以前の問題と同じ問題を抱えていましたが、上記のステートメントで解決したと思いました。それは、ターミナルではなくcrontabを使ってスクリプトを実行したときだけ動作していたことが分かります。 crontabでスクリプトを実行することは解決策ですが、同じ問題を共有するだけです –

+0

今日は2度スクリプトを実行して成功し、その後このトラップに落ち始め、一時ファイルをクリアして動作しませんでした。 最悪の部分は、それは私のローカルではまだフィンで動作している、ちょうどサーバー上で作業を停止! – Shaardool

関連する問題