1
비안질 페이지에 각도기 사용 다른 iframe에 중첩 된 iframe의 모달 요소 위치에 문제가 있습니다. 요소를 찾으려고하는데 항상 요소를 찾을 수 없습니다. 오류가 발생합니다.각도기 : 두 번째 중첩 된 iframe에 요소를 찾는 방법
페이지 소스 :
<iframe ...
...
<iframe frameborder="0" ...
<html
<head
<body
<div id="viewport" style= ...
<div id="modal" class=" unit ...
페이지 개체 :
this.layout = element(by.css('div[data-field="device"]'));
this.firstIframe = this.layout.element(by.tagName('iframe'));
this.content = element(by.tagName('body.desktop'));
this.secondIframe = element.all(by.tagName('iframe')).last();
this.modalUnit = element(by.id('modal'));
사양 :
...
// waiting for first iframe to be visible
browser.wait(EC.visibilityOf(page.firstIframe),10000).then(function() {
// switch to first iframe
browser.driver.switchTo().frame(page.firstIframe.getWebElement());
// verify content is displayed
expect(page.content.isDisplayed()).toBeTruthy();
// switch to default content
browser.switchTo().defaultContent();
});
// waiting for second iframe to be visible
browser.wait(EC.visibilityOf(page.secondIframe),10000).then(function() {
// switch to second iframe
browser.driver.switchTo().frame(page.secondIframe.getWebElement());
// waiting for modal to be visible
browser.wait(EC.visibilityOf(page.modalUnit),10000).then(function() {
...
내용 요소는 문제없이 첫 iframe에 발견된다. 그러나 두 번째 iframe에서 modalUnit 요소를 찾지 못하고 두 번째 iframe을 찾았습니다. 왜 그런가?
"모달 유닛"요소를 검색 할 때 올바른 프레임의 컨텍스트에 있어야합니까? 의미, 당신은 당신이 필요하다고 생각하는 프레임을'last()가 제공 할까? .. – alecxe
@alecxe : 그렇습니다. 왜냐하면 페이지의 모든 iframe 태그를 검색하면 결과가 2가되기 때문입니다. – jurijk