2017-10-02 12 views
0

私はセレニウムを使用する必要があるPyQt4アプリケーションを作成しています。すべてが開発しながら、正常に動作しますが、私は単一のファイル EXEにエクスポートするとき、コンソールなしpyInstallerので、それは、次のトレースバックのエラー生成:ときconsole = True私はそれをエクスポートするとき、これは起こりませんpyinstallerのウィンドウモードでEXEにエクスポートした後にセレンが動作しない

[WinError6] The handle is invalid 

を(pyinstaller specファイル内で)、エラーはコンソールなしののみ生成されます。

生成されたエラーは、次の行にあります。

driver = webdriver.Chrome(executable_path="chromedriver.exe") 

マイ仕様:

のPython:3.4
アーキテクチャ:
セレン:3.6.0
Pyinstaller :3.3
OS:Windowsの

私は約1時間をグーグルが、任意の解決策を見つけることができませんでした:(

+0

例外スタックトレースはありますか? –

+0

はいこれはトレースバック例外です。 –

+0

コメントではなく質問でスタックトレースを更新する –

答えて

1

多くの研究の後、私は上記の問題の解決策を見つけました。次の行
C:\Python34\Lib\site-packages\selenium\webdriver\common\service.py

変更:

self.process = subprocess.Popen(cmd, env=self.env, 
             close_fds=platform.system() != 'Windows', 
             stdout=self.log_file, stderr=self.log_file) 

へ:

self.process = subprocess.Popen(cmd, stdin=PIPE, stdout=PIPE, stderr=PIPE, shell=False, creationflags=0x08000000) 

はこれも開発しながら動作します

は何あなただけ行う必要があり、ファイルを編集していますEXEにデプロイした後も同様です。

セレンのバグかもしれません。

0

Python 2.7でも同じ問題がありました。このメソッドは、Python 2.7でも動作します。

関連する問題