我正在使用Selenium通过css选择器查找web元素.当我硬编码时,它的工作原理如下.
driver.findElement(By.cssSelector("div[aria-label=\"2018-10-17 Shared Google Drive Folder\"]")).getAttribute("data-id");
Run Code Online (Sandbox Code Playgroud)
但是,如果我想根据下面的日期自定义css选择器字符串,它会抛出一个错误:
org.openqa.selenium.InvalidSelectorException: invalid selector: An invalid or illegal selector was specified
Run Code Online (Sandbox Code Playgroud)
我打印出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");
Run Code Online (Sandbox Code Playgroud) 我使用两个不同的字符串来测试"\ t"的最后一个索引,但它们都返回4.我认为它应该是5和4.我检查了oracle文档,我无法理解为什么.有人可以告诉我为什么吗?谢谢!
System.out.println("abc\t\tsubdir".lastIndexOf("\t"));
System.out.println("abct\tsubdir".lastIndexOf("\t"));
Run Code Online (Sandbox Code Playgroud)