Selenium でネストされた iframe 内の HTML 要素を選択する
Selenium でネストされた iframe 内の要素を操作するには、ターゲットを選択する前に適切な iframe に切り替える必要があります要素。デフォルトの Selenium フォーカスは上部ウィンドウに残り、目的の iframe に明示的に切り替えない限り、その中の要素を操作することはできません。
フレーム切り替えメソッド
特定の iframe に切り替えるために、Selenium には 3 つのオプションがあります:
例:
# Switch to an iframe by its name driver.switch_to.frame("iframe_name") # Select an element within the iframe element = driver.find_element_by_css_selector(".element_selector") # Switch back to the main frame driver.switch_to.default_content()
より良いアプローチ:
iframe 遷移の処理を改善するには、 Selenium の WebDriverWait クラスをframe_to_be_available_and_switch_to_it() が予期される状態です。この条件は、ターゲット iframe が使用可能になるのを待機し、自動的にそれに切り替わります。
# Wait for the iframe with the specified ID to become available and switch to it WebDriverWait(driver, 10).until(EC.frame_to_be_available_and_switch_to_it((By.ID, "iframe_id"))) # Select an element within the iframe element = driver.find_element_by_css_selector(".element_selector") # Switch back to the main frame driver.switch_to.default_content()
追加の考慮事項
参照:
詳細については、 Selenium での iframe 処理に関する議論については、以下を参照してください。
以上がSelenium を使用してネストされた iframe 内の HTML 要素を選択するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。