Selenium JS Ошибка исполнителя: «Не удалось выполнить elementsFromPoint в документе» - PullRequest
0 голосов
/ 10 февраля 2020

Я запускаю код, который выбирает диапазон по значению его текста и затем щелкает его правой кнопкой мыши, используя эту функцию:

public void rightClickElement(WebElement element) {
        Actions action = new Actions(driver);
        actions.contextClick(element).perform();
    }

В основном я перебираю список имен файлов и выбираю элемент I хочу манипулировать по имени файла, используя следующую XPATH:

//span[contains(text(), 'PLACEHOLDER')]

с функцией, которая заменяет PLACEHOLDER на текущее значение массива имен файлов, по которому я перебираю.

Это мой код:

* Примечание: getAssertedElement - это просто написанная мной функция, которая подтверждает существование элемента и возвращает его одновременно.

List<WebElement> textFilesElements = driver.findElements(By.xpath("//span[(@class='document') and contains(text(), '.txt')]"));
ArrayList<String> filesToDelete = new ArrayList<String>();
waitSeconds(1);
for (int i = 0; i < textFilesElements.size(); i++) {
    filesToDelete.add(textFilesElements.get(i).getText());
}

for (int i = 0; i < filesToDelete.size(); i++) {
    WebElement elementToDelete = getAssertedElement("Cannot find the current element",
            replacePlaceholderInString(
                    "//span[contains(text(), 'PLACEHOLDER')]",
                    filesToDelete.get(i)
                    ),
            "xpath");
    System.out.println("FICHIER TO DELETE" + elementToDelete.getText());
    rightClickElement(elementToDelete);
    // do things with element
    ...
}

Это отлично работает в первый раз через второе утверждение for, но когда я перехожу к следующему имени файла, хотя элемент видим и доступен для щелчка, тест завершается неудачно со следующей ошибкой, когда он достигает вызова rightClickElement:

javascript error: Failed to execute 'elementsFromPoint' on 'Document': The provided double value is non-finite.

Я не понимаю, почему, тем более, как это исправить.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...