Carl:
Estoy usando selenio para encontrar un elemento web mediante el selector CSS. Cuando codificar, funciona muy bien, como a continuación.
driver.findElement(By.cssSelector("div[aria-label=\"2018-10-17 Shared Google Drive Folder\"]")).getAttribute("data-id");
Sin embargo, si quiero personalizar la cadena del selector CSS basado en la fecha, como a continuación, se genera un error:
org.openqa.selenium.InvalidSelectorException: invalid selector: An invalid or illegal selector was specified
Imprimo la cssFormatString y se ve exactamente igual que uno codificado anteriormente. ¿Alguien podría decir de dónde salió mal?
// Customized cssFormatString code
Date date = new Date();
DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
String strDate = dateFormat.format(date);
String cssFormatString = "div[aria-label=\\\"" + strDate + " Shared Google Drive Folder\\\"]";
driver.findElement(By.cssSelector(cssFormatString)).getAttribute("data-id");
Nvrsu:
Sólo tiene que utilizar comillas simples en lugar de comillas dobles, que debería funcionar.
String cssFormatString = "div[aria-label='2018-10-17 Shared Google Drive Folder']"
Por lo que su concatenar cadena será sencillo,
String cssFormatString = "div[aria-label='" + strDate + " Shared Google Drive Folder']"