неизвестная ошибка: необработанная ошибка инспектора: {"code": - 32000, "message": "Не удается найти контекст с указанным идентификатором"} - PullRequest
0 голосов
/ 18 апреля 2020

Я пытаюсь дождаться, пока загрузочное изображение исчезнет с экрана

Если экран не загружается, элемент выглядит следующим образом:

<div id="divWait" style="cursor: wait; position: absolute; left: 0%; top: 0%; background: transparent; padding: 3px; width: 100%; height: 100%; display: none;" xpath="1">

при загрузке экрана элемент выглядит следующим образом :

   <div id="divWait" style="cursor: wait; position: absolute; left: 0%; top: 0%; background: transparent; padding: 3px; width: 100%; height: 100%; " xpath="1">

исчезает display

Строка кода, которую я написал для этого:

w.until(ExpectedConditions.attributeContains(driver.findElement(By.xpath("//*[@id=\"divWait\"]")), "display", "none"));

стоит упомянуть, что мой элемент находится в iframe но я обработал это и убедился, что могу анализировать другие элементы в Iframe, я также убедился, что использованный выше xpath действителен (скопирован как xpath из html)

, в другое время я получаю следующее исключение

stale element reference: element is not attached to the page document

1 Ответ

0 голосов
/ 18 апреля 2020

Ошибка ссылки на устаревший элемент - это ошибка веб-драйвера, возникающая из-за того, что указанный веб-элемент больше не подключен к DOM.

Существует несколько причин этого:

  1. Элемент полностью удален.
  2. Элемент больше не присоединен к DOM.

Устойчивость возникает, когда узел документа удаляется из DOM и ссылка на его веб-элемент будет недействительной

Попробуйте приведенный ниже код, чтобы решить вашу ошибку:

WebDriverWait wait = new WebDriverWait(driver,30);              

wait.until(ExpectedConditions.invisibilityOfElementLocated(By.id("divWait")));

Примечание: пожалуйста, добавьте ниже импорта в ваше решение

import org.openqa.selenium.support.ui.ExpectedConditions;
import org.openqa.selenium.support.ui.WebDriverWait;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...