【问题标题】:When switching back to a frame selenium can't find text box it found before I switched away from that frame? [duplicate]切换回框架时,硒在我切换离开该框架之前找不到它找到的文本框? [复制]
【发布时间】:2017-10-31 03:08:52
【问题描述】:

我得到一个包含以下代码的网络元素。

WebElement textbox = driver.findElement(By.xpath("//input[substring(@name, string-length(@name) - string-length('_connectionName') +1 ) = '_connectionName']"));

这很好用,可以得到我需要的物品。我在其中输入了一个名称,检查该站点是否给我们一个特定的错误,然后尝试清除它。为了检查我们是否收到该错误,我必须切换帧。

driver.switchTo().frame("modalIframeId");

然后我像这样切换回主框架

driver.switchTo().frame("Content");

我可以关闭出现的错误对话框。错误的文本位于不同的框架中,但 X 按钮位于文本框所在的主框架中。切换回并关闭文本框后,我无法使用与上述相同的代码找到文本框。它说找不到它我需要清除文本框并尝试不同的错误。我对硒很陌生,环顾四周,但找不到类似的东西。我有一位经验更丰富的同事也看过它,但他们也不确定。

任何帮助将不胜感激。

【问题讨论】:

  • 如果这是重复的,你能把我链接到现有的吗?我在任何地方都找不到它。

标签: selenium frames


【解决方案1】:

切换到之后

driver.switchTo().frame("modalIframeId");

然后你必须切换回默认内容。为了做到这一点,只需使用;

driver.switchTo().defaultContent();

现在您在顶部窗口中,这意味着您现在不在任何框架内。现在您可以找到您的文本框。 (如果文本框显示在框架内,则只需导航到该相关框架。)

【讨论】:

  • 我应该在票中提到我已经这样做了。我仍然无法清除此文本框中的文本,但出现找不到元素的异常。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-08-13
  • 2016-05-04
  • 2017-12-03
相关资源
最近更新 更多