Я пытаюсь найти веб-элемент в Chrome с помощью Selenium WebDriver.Когда драйвер запускает URL-адрес, отображается список проектов, и драйвер должен выбрать конкретный проект из этого списка.
Пока этот проект находится в верхней части списка, он в порядке и может найтипроект, однако, если проект находится в самом низу списка (согласно списку был упорядочен в алфавитном порядке и, скажем, попытка выбрать запись 57 из списка), тест продолжает проваливаться, и драйвер не может найти веб-элемент !!!
Наконец-то я дошел до того, что мне нужно прокрутить мой список, пока этот элемент не появится, но, согласно этой полосе прокрутки, в этом меню, а не в главном окне, эта команда даже не выполняется!Нужно ли вообще идентифицировать меню проекта для драйвера?Как я могу прокрутить меню этого проекта вниз в окне?Я не хочу прокручивать главное веб-окно, мне нужно прокручивать только список проектов.
Я перепробовал все возможные решения и просматривал весь форум Stack Overflow, а также Интернет, но не смогисправить эту ошибку.Было бы здорово, если бы вы, ребята, взглянули на приведенный ниже код и дали мне несколько советов.Пожалуйста, дайте мне знать, если я должен предоставить больше информации.Здесь стоит упомянуть, что я читаю «projectName» из электронной таблицы.
// Initially I need to hover the mouse on Select Project menu.
Actions action = new Actions(driver);
WebElement list = driver.findElement(By.xpath("//*[@id=\"gridview-1032\"]"));
action.moveToElement(list);
JavascriptExecutor js = (JavascriptExecutor) driver;
// Now I need to scroll down till find my desire project in the list.
WebElement Project = driver.findElement(By.xpath("//*[text()= '"+ projectName +"']"));
js.executeScript("arguments[0].scrollIntoView(true);",Project);
Project.click();
Фактический результат:
Исключение в потоке "main" org.openqa.selenium.NoSuchElementException:нет такого элемента: невозможно найти элемент: {"method": "xpath", "selector": "// * [text () = 'projectName']"}
Ожидаемый результат: Найтиэлемент в списке и нажмите на этот элемент, чтобы запустить проект!