если ваш xpath неверен, возможно, потому что элемент еще не загружен?
Так что иногда скрипт запускается быстрее, чем время отклика веб-страницы.
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
Добавьте эту строку после поиска xpath, но прежде чем предпринимать над ним какие-либо действия, поэтому найдите его, подождите, затем действие, вы можете добавить больше функциональности в ожидание, однако это проверит, является ли это проблемой.
writeScreen("Description : ", "secId:mainBody:vboxlist:s_m9_aa2::content");
public void writeScreen(String description, String identifiant) {
String xpath="//*[@id=\\\""+identifiant+"\\\"]";
Select select = new Select(driver.findElement(By.xpath(xpath)));
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
WebElement option = select.getFirstSelectedOption();
String defaultItem = option.getText();
System.out.println(description+defaultItem);
Вот как может выглядеть ваш код
Еще одна проблема, которую я только что заметил, вы, скорее всего, неправильно делаете xpath, при объявлении его в вашей переменной он должен выглядеть следующим образом
String xpath="//*[@id=\\\"'+identifiant+'\\\"]";
то, как вы это делаете, делает + identifiant + функцией, а не строкой, ссылающейся на xpath.