

下記のコードでdriver.window_handlesがフリーズします。  
常にフリーズするのではなく、１０回に１度程度の頻度で発生します。  
エラーメッセージや例外の発生はありません。

やりたい事は、特定のタイトルを持つウィンドウに制御を切り替える  
ことです。

データ依存があるのが分かっていて、このコードの前にボタンをクリックして  
すぐに起動し画面がロードされるウィンドウが含まれる場合はフリーズが発生  
します。画面のロードに時間がかかるウィンドウが含まれる場合はフリーズは  
発生しません。

[code]

    allHandles = driver.window_handles
    
    for handle in (allHandles):
        print("*** title=",driver.title)
        driver.switch_to_window(handle)
        time.sleep(1)
    
        if ((driver.title == title) or ("エラー" in driver.title)):
            print("*** switch_to_window=",driver.title)
            break
    
[/code]

回答よろしくお願いします。


CC BY-SA 4.0
2022-05-10T23:53:14.820
88749
2022-05-31T06:43:59.423
52552
question
python selenium
pythonでseleniumのwindow_handlesがフリーズする


switch_to.window()にしている以外は同じ所でスタックしている者です。  
try～exceptで回避しようにもその行でエラーも出力せずExceptionも出さずに困っています、回避策を発見なされたら教えて下さい。  
ところで、察するに繰り返し実行なさっているかと思うのですが、WebDriverのプロセスが残っていたり、ブラウザのプロセスが大量に残っていたり、VS
CodeあたりならPowershellもしくはPythonのセッションが、画面右側に溜まっていないでしょうか？
一度、全て削除すると、フリーズ回避はできないにしても(私も知りたいです)、フリーズ発生頻度は減るかもしれません。


CC BY-SA 4.0
2022-05-31T06:43:59.423
89158
2022-05-31T06:43:59.423
52883
88749
answer