質問編集履歴
2
追記
test
CHANGED
File without changes
|
test
CHANGED
@@ -67,3 +67,21 @@
|
|
67
67
|
↓実行後(バックグラウンドに2つgeckodriverが残っています。これを手動で削除するとタブのクルクルがなくなり値が返ってきます。)
|
68
68
|
|
69
69
|

|
70
|
+
|
71
|
+
|
72
|
+
|
73
|
+
----------------------------------------------------
|
74
|
+
|
75
|
+
以下追記
|
76
|
+
|
77
|
+
コマンドプロンプトから直接入力した結果
|
78
|
+
|
79
|
+
taskkill /im geckodriver.exe /f
|
80
|
+
|
81
|
+
エラー: プロセス "geckodriver.exe" が見つかりませんでした。
|
82
|
+
|
83
|
+
|
84
|
+
|
85
|
+
↓その時のタスクマネージャー
|
86
|
+
|
87
|
+

|
1
追記
test
CHANGED
@@ -1 +1 @@
|
|
1
|
-
python selenium
|
1
|
+
windows firefox プロセスが残る python selenium
|
test
CHANGED
@@ -8,9 +8,13 @@
|
|
8
8
|
|
9
9
|
FireFox webdriver
|
10
10
|
|
11
|
+
要約: pythonでwindowsのコマンドを実行する```subprocess.Popen('taskkill /im geckodriver.exe /f', shell=True)```を書いてもプロセスがkillできない。タスクマネージャーから手動で削除できる。Edgeで実行すると取得できます。
|
11
12
|
|
12
13
|
|
13
|
-
|
14
|
+
|
15
|
+
|
16
|
+
|
17
|
+
seleniumでプロセスが残ってしまうという問題をしらべてみるとたくさん出てきますが、driver.quitすれば良いくらいしか書いておらず、実際そうやっても残ってしまうため、subprocessでコマンドを実行してプロセスをkillしています。しかしそれでもバックグラウンドプロセスが残ってしまい、Firefoxやクロームで実行するとタブのくるくるがずっと回りっぱなしでdoneが返ってきません(なぜかEdgeで実行すると取得できます)。プロセスツリーをkillするはずの```taskkill /im geckodriver.exe /f```をしてもプロセスが残るのはなぜでしょうか?また、そもそもquitすればプロセスをkillできるはずですが、quitしてもprocessが残ってしまうのはなぜでしょうか?
|
14
18
|
|
15
19
|
```python3
|
16
20
|
|
@@ -46,7 +50,7 @@
|
|
46
50
|
|
47
51
|
|
48
52
|
|
49
|
-
subprocess.Popen('taskkill /im geckodriver.exe', shell=True)
|
53
|
+
subprocess.Popen('taskkill /im geckodriver.exe /f', shell=True)
|
50
54
|
|
51
55
|
```
|
52
56
|
|
@@ -60,6 +64,6 @@
|
|
60
64
|
|
61
65
|

|
62
66
|
|
63
|
-
↓実行後(バックグラウンドに2つgeckodriverが残っています。これを
|
67
|
+
↓実行後(バックグラウンドに2つgeckodriverが残っています。これを手動で削除するとタブのクルクルがなくなり値が返ってきます。)
|
64
68
|
|
65
69
|

|