Для начала Селен сам по себе не добавляет тег или атрибут в HTML DOM .
Всеми возможными способами атрибут __idm_frm__="467"
в HTML, который выглядит следующим образом:
<iframe src="NIB_MainFrame.asp" name="Principal" style="height:100%;width:100%;border:0;padding:0;border:0;margin:0;display:block;overflow-y:hidden" __idm_frm__="467"></iframe>`
выглядит динамическим, а атрибут выглядит каксоздан / добавлен с помощью JavaScript или AJAX .
Согласно HTML в вопросе C #: Selenium - Элемент не является элементом кадра: FRAMESET становится намного понятнее, что атрибут генерируется динамически.
<iframe src="NIB_MainFrame.asp" name="Principal" style="height:100%;width:100%;border:0;padding:0;border:0;margin:0;display:block;overflow-y:hidden" __idm_frm__="467"></iframe>
<frameset id="frmSet" rows="55,0,*,24" border="0" framespacing="0" frameborder="no">
<frame noresize="noresize" scrolling="no" name="Header" src="NIB_Header.asp" __idm_frm__="472">
<frame noresize="noresize" scrolling="no" name="Menu" src="Blank.htm" __idm_frm__="473">
<frame noresize="noresize" scrolling="auto" name="Corpo" src="NIB_Pre_Bridge.asp?txtAgencia=4346&txtConta=014543708" __idm_frm__="474">
<frame noresize="noresize" scrolling="no" name="Rodape" src="NIB_Rodape.asp" __idm_frm__="475">
</frameset>
</iframe>
Пример из Ember.js enabled Дерево DOM , содержащее атрибут __idm_frm__
:
<section id="ember22904" class="ad-banner-container ember-view"><iframe class="ad-banner" width="496" height="80" src="about:blank" scrolling="no" title="advertisement" kwframeid="3" __idm_frm__="1347"></iframe>
Пример реализации в Facebook , содержащий атрибут __idm_frm__
::
<iframe style="display: none;" __idm_frm__="21" id="IFRAME_1007"></iframe>
Заключение
Поскольку атрибут __idm_frm__="xyz"
не содержит статического значения и динамического по своей природе мудрого решениябыло бы не включать этот атрибут при создании любой из стратегий локатора .
Подробное обсуждение можно найти в Способах работы с #document в iframe