我想创建一个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的主体和其他元素?
AssertionError: 1 != 0
<iframe>在切换到之前,您无法浏览。您的xPath
<iframe>
//iframe[@name='editor_body']//body[@contenteditable='true']
将不会起作用,因为<body>代码位于当前上下文之外的iFrame中。您需要先切换到它:
<body>
driver.switch_to.frame('editor_body')...