как достучаться до элементов без id (java)

Так тоже пробовал

driver.findElement(By.xpath("//ul[@class = 'select2-results__option select2-results__option--highlighted'][5]")).click();

пишет
no such element: Unable to locate element: {"method":"xpath","selector":"//ul[@class = 'select2-results__option select2-results__option--highlighted'][5]"}

Так пробовал

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("//*[@id='select2-discipline-results']/li/[2]")).click();

И так пробовал

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("//*[@id='select2-discipline-results']/li/[2]")).click();

Хватит спамить, скинь нормальный кусок ДОМа и напиши проблему

Проблема та же что и была! Чуть продвинулся.

Как выбрать элемент из списка?

Сайт
не пойму как выбрать дисциплину https://goo.gl/h2Hkzj
вот мой код

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("//*[@id='select2-discipline-results']/li/[2]")).click();

Сначала тебе нужно кликнуть на

//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()=’ твой текст’]`

Здесь вроде я так и делал

1 строка в гугле
https://www.google.com/search?ei=C_CQXODpO5LTkwXv_6ugDw&q=chropath&oq=cropath&gs_l=psy-ab.1.0.0i10l10.5493.13678..16856...12.0..0.490.1927.10j3j1j0j1......0....1..gws-wiz.....6..35i39j0j0i5i10i30i42.8KoHrlUOj7Y

SelenideElement element = $(By.xpath("//ul[@class=‘select2-selection__rendered’]")); element.click();
SelenideElement element2 = $(By.xpath("//li[text()=‘3-D конструирование’]")); element2.click();

Быстро на коленке написал и пока сработало

1 лайк