ВЫБОР НЕ iframe - PullRequest
       14

ВЫБОР НЕ iframe

0 голосов
/ 12 октября 2018

У меня есть элемент для поиска:

//div[contains(@class, 'bPageBlock')][.//*[.='Agreement Documents']]//div[@class='pbBody']//tr[contains(@class,'dataRow')]//a[text()='View']

Проблема в том, что он находит два элемента, и я хочу только один.Один находится под iframe, а другой нет.Было бы легко, если бы я хотел тот, который находится под iframe.Я мог бы сделать

//iframe///div[contains(@class, 'bPageBlock')][.//*[.='Agreement Documents']]//div[@class='pbBody']//tr[contains(@class,'dataRow')]//a[text()='View']

Однако, как вы, наверное, догадались, я хочу тот, который НЕ находится под iframe.Я не знаю, как указать что-то вроде // не iframe //.И даже если бы я мог, // нашел бы что-то на шаг ниже или выше, что не было бы iframe.

Любые предложения, как найти тот, который НЕ находится под iframe.Все эти корни и пути кажутся одинаковыми друг с другом.Я пробовал много разных вещей.

Если вы хотите увидеть конкретный iframe:

<iframe frameborder="0" id="RLPanelFrame" name="RLPanelFrame" src="/emptyHtmlDoc.html" title="Hidden Frame - Ignore" style="height: 176px;"></iframe>

Тогда под ним находится множество подразделений с автоматически сгенерированными бессмысленными идентификаторами.

Не думаю, что смогу найти каждого из них с помощью driver.find (), получить полный xpath и проверить «iframe», потому что селен не имеет экстрактора xpath.Я предполагаю, что для каждого я мог бы продолжать получать родителя, пока я не попал бы // html или // iframe, но это заняло бы много времени.

Есть предложения?Это с Java и Selenium

...