Я пытаюсь автоматизировать приложение для просмотра видео.
При нажатии на ссылку «Начать вызов», в текущем / новом окне браузера появляется новое всплывающее окно.
Я пытаюсь автоматизировать компоненты видео, переключаясь на всплывающее окно видео (модальное окно), но переключение не происходит
Я пытался переключиться в окно, пробовал с переключением на фрейм, пробовал с оповещениями, но ничего не получалось
HTML код
<div class="windowframe popup ui-draggable" style="visibility: visible; position: absolute; top: 20px; left: 514px; width: 1000px; z-index: 12; display: block;">
<h2 class="title clearfix ui-draggable-handle">
<span class="p-text">Video Consult</span>
<button class="p-button p-button-close" name="close" tabindex="1">
<div class="p-icon component icon-resolved">
<svg style="" width="512px" height="512px" viewBox="0 0 512 512" version="1.1" id="Layer_1" x="0px"
y="0px">
<path d=""></path>
</svg>
</div>
</button>
<button class="p-button p-button-minimize" name="minimize" tabindex="1" style="display: none;">
<div class="p-icon component icon-resolved">
<svg style="" width="512px" height="512px" viewBox="0 0 512 512" version="1.1" id="Layer_1" x="0px"
y="0px">
<rect width="384" height="64" x="64" y="224"></rect>
</svg>
</div>
</button>
</h2>
<div class="windowcontent" style="height: 396.2px;">
<div control="ViewContainer" class="viewcontainer p-view-viewcontainer control p-view p-view-mode-view p-view-no-toolbar p-view-no-title"
float="" style="height: 100%;"
name="VideoWebRTCView" tabindex="0">
<h2 class="p-container title component hide"><span class="p-text component hide">Video Consult</span>
<div class="busyindicator">
<div class="p-icon component icon-resolved">
<div class="spinner">
<div class="spinner-circle"></div>
</div>
</div>
</div>
</h2>
<div class="p-content content" name="VideoWebRTCView" xmlns:petrel="urn:PetrelXslExtensions" xmlns:bind=" "
xmlns:fx="urn:ExpressionFunctions">
<div control="iFrame" class="iframe p-view-iframe control p-view p-view-mode-view p-view-no-toolbar"
float="" style="height: 366px;" name="Video">
<iframe width="100%" height="100%" scrolling="auto" frameborder="0"
seamless="seamless" src=""></iframe>
</div>
</div>
<div class="metadata"></div>
</div>
</div>
<div class="windowfooter clearfix">
<div class="resize ui-draggable ui-draggable-handle" style="position: absolute;">
</div>
<div class="footerText"></div>
<div class="buttonholder"></div>
</div>
</div>
Приведенный выше HTML-код является динамическим, при нажатии на ссылку вышеуказанный код в теге div добавляется в тег body.
попытался идентифицировать элемент, как показано ниже, но его исключение noSuchElementException
WebDriver.FindElement(By.XPath("//*[contains(@class,'windowframe')]"));
пробовал с переключением в окно, но здесь размер всегда 1
List<string> listWindow = _context.WebDriver.WindowHandles.ToList();
int size = listWindow.Count;
Console.WriteLine("size: " + size);
foreach (var handle in listWindow)
{
Console.WriteLine("window name: " + handle);
if (!parentwindow.Equals(handle))
{
_context.WebDriver.SwitchTo().Window(handle);
}
}
пробовал с переключением на фрейм
IWebElement frameele = _context.WebDriver.FindElement(By.Name("Video"));
_context.WebDriver.SwitchTo().Frame(frameele);