当前位置: 首页 > 面试题库 >

如何使用Xpath在iframe中选择元素?

隗嘉歆
2023-03-14
问题内容

我想创建一个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')...


 类似资料:
  • 问题内容: 我有这样的 我想引用元素“ x”。我尝试了几种方法,但找不到解决方案。 问题答案: document.getElementById(‘myframe1’).contentWindow.document.getElementById(‘x’) 所有浏览器(包括较旧版本的IE)都支持该功能。 请注意,如果的是从另一个域,您将无法访问其内容,由于同源策略。

  • 如何只选择父级而不选择子级? List summaryLinks=summary.findelements(by.xpath(“”));

  • 问题内容: 我有一个GWT应用程序,正在尝试使用Selenium编写一些测试。 我正在使用XPath来标识测试页面上的元素。使用将无效,因为这些值是由GWT自动生成的,并且可以更改。当我意识到我可以按其标签找到按钮时,事情进展顺利,如下所示: 但是,当我开始运行多个测试时,我开始遇到问题。我意识到问题是,一旦Javascript生成的GWT应用程序的所有不同“页面”都保留在HTML中的隐藏元素中。

  • 问题内容: 在我们的应用程序中,我们解析一个网页并将其加载到iFrame中的另一个页面中。该加载页面中的所有元素都有其令牌标识。我需要通过那些tokenid -s选择元素。意思是-我单击主页上的元素,然后在iFrame中选择页面中的相应元素。在jQuery的帮助下,我通过以下方式进行操作: 但是,通过此功能,我只能选择当前页面中的元素,而不能选择iFrame中的元素。谁能告诉我如何在加载的iFra

  • 问题内容: 我们选择带有Django 1.4测试和Selenium的元素,如下所示: (该类继承自)。 问题是有时有些元素没有文本,并且如果我们选择它,它就会失败(len为0)。如何选择没有文本的元素? 更新 :由于不起作用,我不得不断言两行以断言没有文本: 现在,我可以用一行声明相同的内容: 问题答案: 您可以使用XPath的 功能。

  • //div/SPAN[包含(text(),“默认值”)]/祖先::div/SPAN[包含(text(),“选择日期”)]/follows-sibling::div//输入 Xpath 2返回3个元素,即图像中的下拉项。 //div[@class='_selectcontainer_psmgei']/div//输入 截图:视窗截图 HTML屏幕截图:HTML代码