Seleniumテストを作成して、AOLメールで拡張機能をテストします。 AOLにログインしてメールを作成できましたが、iframe内のエディター内の要素も選択する必要があります。私はチェックしましたが、エディターが開いているときでさえ、次のテストは失敗します:
self.assertEqual(first=1, second=len(self.driver.find_elements_by_xpath(xpath="//iframe[@name='editor_body']//body[@contenteditable='true']")))
エラーAssertionError: 1 != 0
。 Xpath(または他の方法でSeleniumを使用)でiframeの本体と他の要素を選択するにはどうすればよいですか?
それらに切り替えるまで、<iframe>
を通過することはできません。あなたのxPath、
//iframe[@name='editor_body']//body[@contenteditable='true']
<body>
タグがiFrame内にあり、現在のコンテキストにないため、機能しません。最初に切り替える必要があります。
driver.switch_to.frame('editor_body')...