창에서 iframe으로 전환하는 동안 오류가 발생하고 iframe ID가 없습니다. testng에서 오류가 발생했습니다.
스크립트
click(locator.login_link);
// 클릭하면 몇 초 안에 Iframe 창이 열립니다.
driver.switchTo().frame("GTM-WDM67TP");
// id를 전달하여 iframe 창으로 전환
click(locator.login_email);
// iframe 창에서 요소 클릭
소스 코드
<!-- inject:css -->
<link rel="stylesheet" href="assets/styles/user/main.css">
<!-- endinject -->
</head>
<body class="mini-navbar">
<!-- Google Tag Manager (noscript) --><noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-WDM67TP" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
<!-- End Google Tag Manager (noscript) -->
<div ui-view="mainView" ng-class=""></div>
<!-- inject:js -->
<script src="scripts/vendor/jquery-2.1.1.min.js"></script>
<script src="scripts/vendor/angular.min.js"></script>
<script src="scripts/vendor/inspiniaApp.js"></script>
<script src="scripts/vendor/bootstrap.min.js"></script>
<script src="app.js"></script>
다음은 필요한 프레임으로 전환하는 다양한 방법입니다.
driver.switchTo().frame(driver.findElement(By.xpath("//iframe[contains(@src, 'GTM-WDM67TP')]")));
또는
driver.switchTo().frame(driver.findElement(By.xpath("//iframe[@src='https://www.googletagmanager.com/ns.html?id=GTM-WDM67TP')]")));
페이지의 첫 번째 프레임 인 경우 index 속성을 사용하여 다음을 시도 할 수도 있습니다.
driver.switchTo().frame(0);
또는
driver.switchTo().frame(driver.findElement(By.tagName("iframe")));
식별 속성은 상기 프레임에 대해 정의되지 않는다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다