28

send_keys()iframeには使用できません。この iframe を選択する方法と、この中のどの要素を send_key() に使用する必要がありますか?

ページ画像

および iframe html コード

<iframe class="textarea" src="/framework/html/blank.html" style="width: 99%; border-width: 1px; height: 332px;">
#document
<html webdriver="true">
<head>
</head>
<body> … </body>
</html>
</iframe>

値を説明に送信する方法は?

もう1つ、ブラウザで「ページのソースを表示」を選択したときに、このフレームのコードが表示されないことを知りたいですか?

4

4 に答える 4

64

driver.switch_to.frame(driver.find_element_by_tag_name("iframe"))ドライバーが webdriver の正常なインスタンスであると仮定します。デフォルトのコンテンツを続行するには、次のようにします。driver.switch_to.default_content()

編集: 必要なフレームに切り替えたら、いつものように Web 要素を見つけます。あなたの場合、これは html/body になると思います(確かではありません)ので、

el = driver.find_element_by_xpath('html/body')

大丈夫なはずです。そして実行する

el.send_keys('keys_to_send')

EDIT2 : キーを送信する前に、要素に集中する必要がある場合があります (クリックすると、子要素が表示されます)。または、必要なテキストを JS 経由で配置することもできます。

driver.execute_script('document.body.innerHTML = "%s"' % text_var)

于 2013-09-20T19:13:50.243 に答える