2017-01-14 33 views
2

これは初めての質問です。私は3日間以上WebDriverでiFrameを特定する方法を見つけようとしました。ここに私のhtmlコードは次のとおりです。iFrameがSelenium Webdriverによって識別しない

<iframe id="emailBodyIframe" class="" frameborder="0" src="about:blank" style="height: 151px;"> 
<html> 
<head> 
<body> 
<p>Dear Administrator,</p> 
Here is a passport number : XXXXXXX 
<span class="sv-b212-highlighting" style="background-color:#B9DFF5;">aba</span> 
#: 0000-0000-0 
<p>Regards,</p> 
<p>Local Archive</p> 
</body> 

は、ここで私にエラー

FRAME = self.driver.find_element_by_tag_name("iframe").text 
self.driver.switch_to().frame(FRAME) 
body1 = self.driver.find_element_by_css_selector("span.sv-b212-highlighting").text 
print body1 
#self.driver.find_element_by_css_selector("span.sv-b212-highlighting").text 
#self.driver.switch_to.frame(highlight,self.driver.find_element_by_css_selector("iframe[id='emailBodyIframe']").text) 
  • を与えているコードは、私が取得していますエラーが

はAttributeErrorです:SwitchToインスタンスにはを持っていませんメソッド

  • 私の質問は

iFrameの中にあるハイライトされたCSSを特定する方法はありますか?

私はこのウェブサイトで提供されている他のコード例といくつかのバリエーションを試しました。すべてが異なるエラーで返されます。私はPythonには新しく、まだ学習しています。

どのようにすればいいのですか?

答えて

0

FRAME変数では、テキストのみを取得する場合はiframeからWeb要素を取得する必要があります。次のコードを使用するようにしてください:

self.driver.switch_to_frame("emailBodyIframe") 
body1 = self.driver.find_element_by_css_selector("span.sv-b212-highlighting").text 
print body1 

あなたは要素を処理する場合.textを追加する必要はありません。 Web要素からテキスト値を取得する場合にのみ使用してください。

+0

ありがとうございますAndersson。残念ながら、それは動作しませんでした。私はエラーが発生しています:NoSuchElementException:メッセージ – Bubbles

+0

'body1 = self.driver.find_element_by_xpath( '//(@class、" highlight "を含む)。 – Andersson

関連する問題