Сначала тебе нужно кликнуть на
//ul[@class='select2-results__options']
Потом на
//li[@class='select2-results__option' and text()=' твой текст']
ну или просто
//li[text()=' твой текст']`
Сначала тебе нужно кликнуть на
//ul[@class='select2-results__options']
Потом на
//li[@class='select2-results__option' and text()=' твой текст']
ну или просто
//li[text()=' твой текст']`
no such element: Unable to locate element: {"method":"xpath","selector":"//li[text()='3-D конструирование']"}
если так делать
WebElement dis = driver.findElement(By.cssSelector("ul.select2-selection__rendered"));
dis.click();
// WebDriverWait wait = new WebDriverWait(driver, 10);
// wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath("//*[@id='select2-discipline-results']/li/[2]"))).click();
driver.findElement(By.xpath("//ul[@class='select2-results__options']")).click();
driver.findElement(By.xpath("//li[text()='3-D конструирование']")).click();
В дев тулзах оно подсвечивает локатор? Может он меняется после нажатия на ul ?
на ul нажало нормально?
может там iframe какой-то?
На ul то нажимает
список вываливается, а вот в списке не находит элемент
вот код мой
WebElement dis = driver.findElement(By.cssSelector("ul.select2-selection__rendered"));
dis.click();
// WebDriverWait wait = new WebDriverWait(driver, 10);
// wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath("//*[@id='select2-discipline-results']/li/[2]"))).click();
//driver.findElement(By.xpath("//ul[@class='select2-results-results']")).click();
driver.findElement(By.xpath("//li[text()='3-D конструирование']")).click();
В таком состоянии остается окно браузера
no such element: Unable to locate element: {"method":"xpath","selector":"//li[text()='API-программирование']"}
Там получается что когда просто кликаешь в поле то в панели Elements отображается только input а если кликнуть на эту стрелочку в углу которая показывает html при наведении, то он этот список показывает li
Ну так кликай тогда на стрелочку и используй тото локатор что я дал выше)
Я пробовал уже ваши варианты, они не работают …
proof где что х-пас правильный
Весь код в топике…
Что за плагин?
Товарищ скинул не весь скрин дома, по этому у него не открывается список при первом нажатии.
Попробуйте сперва кликнуть //ul[@class=‘select2-selection__rendered’] и потом //li[text()=’ твой текст’]`
Здесь вроде я так и делал
SelenideElement element = $(By.xpath("//ul[@class=‘select2-selection__rendered’]")); element.click();
SelenideElement element2 = $(By.xpath("//li[text()=‘3-D конструирование’]")); element2.click();
Быстро на коленке написал и пока сработало
@Gallagher как говорил один лётчик:
И опыт, сын ошибок трудных,
И гений, парадоксов друг
Пробуйте поработать самостоятельно - это лучший способ наработать необходимые навыки. Прочитать недостаточно. Нужно тренировать поиск информации, чтение документации (javadoc’и), исходного кода и создание простых примитивных программ для проверки гипотез (прототипирование).
Спасибо… Завтра протестирую …
Классная штучка, спасибо!
Не работает этот метод тоже
System.setProperty("webdriver.chrome.driver", "C:/chromedriver/chromedriver.exe");
ChromeDriver driver = new ChromeDriver();
driver.get("https://biblio-online.ru/register/create#professor");
WebElement element = driver.findElement(By.xpath("//ul[@class='select2-selection__rendered']"));
element.click();
WebElement element2 = driver.findElement(By.xpath("//li[text()='3-D конструирование']"));
element2.click();