我正在使用Selenium通过CSS选择器查找Web元素。当我对其进行硬编码时,它的工作原理如下所示。
driver.findElement(By.cssSelector("div[aria-label=\"2018-10-17 Shared Google Drive Folder\"]")).getAttribute("data-id");
但是,如果我想根据如下所示的日期自定义css选择器字符串,则会引发错误:
org.openqa.selenium.InvalidSelectorException: invalid selector: An invalid or illegal selector was specified
我打印出cssFormatString,它看起来与上面的硬编码完全相同。谁能告诉我哪里出了问题?
// 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");
最佳答案
只需使用单引号而不是双引号就可以了。
String cssFormatString = "div[aria-label='2018-10-17 Shared Google Drive Folder']"
因此,您的字符串缩写将很简单,
String cssFormatString = "div[aria-label='" + strDate + " Shared Google Drive Folder']"