【问题标题】:error during Switching inside the frameset?在框架集中切换时出错?
【发布时间】:2014-12-09 19:30:18
【问题描述】:

HTML 代码

<html style="width:100%; height:100%" xml:lang="en" xmlns="http://www.w3.org/1999/xhtml">
<head>
<frameset id="mainframeset" tabindex="-1" framespacing="0" frameborder="0" border="0" noresize="" rows="1*">
</html>

在框架集内有另一个 HTML 头部和主体,我无法通过 selenium webdriver 访问其中。一些我需要如何将控件切换到框架集内,以便我可以获得网页控件。如何获得访问权限

我写的 Selenium 代码是

WebDriver driver = new FirefoxDriver();
// Enter URL to Address Bar
WebElement mainframe = driver.findElement(By.id("mainframeset"));
driver.get(baseUrl);
// Get the Title of the page
actualTitle = driver.getTitle();
// Print Title in Console 
System.out.println("Title: "+actualTitle);
driver.switchTo().frame(mainframe);

【问题讨论】:

  • 你传递的是什么(大型机)??您是否还尝试访问父框架或子框架?
  • 请添加您需要切换到的frame的html代码sn-p。我的意思是使用标签 ,因为您需要切换到某个框架,而不是框架集。

标签: java html selenium-webdriver


【解决方案1】:

您可以通过以下方式切换到其他框架。在您的情况下,我假设您想切换到 id 为 'ma​​inframeset'

的框架
WebDriverWait  frame_Test = new WebDriverWait(driver, 10);
frame_Test.until(ExpectedConditions.frameToBeAvailableAndSwitchToIt(By.id("mainframeset")));

在框架内执行所有必需的操作并切换回默认框架,使用以下代码。

driver.switchTo().defaultContent();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-05-08
    • 1970-01-01
    • 2018-08-13
    • 2017-11-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多