iframe 内の HTML 要素の検索と操作は、Selenium で課題となる可能性があります。この記事では、標準の select_frame() メソッドが信頼できないことが判明した特定の例について詳しく説明します。
問題の HTML 構造には、ID が「upload_file_frame」の iframe が含まれていました。最初の Python コードは、次のコマンドを使用してこの iframe を見つけようとしました:
if sel.select_frame("css=#upload_file_frame"): break
しかし、この方法では一貫して iframe を確実に選択できませんでした。
次のコマンドを使用すると、より堅牢な解決策が見つかりました。アプローチ:
iframe に切り替える: WebDriver オブジェクトの switch_to.frame() メソッド:
driver.switch_to.frame(driver.find_element_by_tag_name("iframe"))
iframe 内の要素を検索して操作します: XPath または他のロケーターを使用して検索および操作しますiframe内の要素。たとえば、テキストを入力フィールドに送信するには:
elem = driver.find_element_by_xpath("/html/body/p") elem.send_keys("Lorem Ipsum")
デフォルトのコンテンツに戻します: iframe を操作した後、「 switch_to.default_content() を使用したデフォルトのコンテンツメソッド:
driver.switch_to.default_content()
この改訂されたアプローチを使用すると、iframe を正常に特定でき、その中の要素を確実に操作できます。
以上がPython を使用して Selenium で iframe を確実に選択する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。