我有一个使用Java/Selenium Webdriver
自动化的网络系统。我有一个项目,我试图访问。它有一个复合类名。我已经尝试了我能够在这里找到的所有解决方案,到目前为止它们都没有工作。
提供的解决方案如下所示:
By elem = By.cssSelector("div.prdbox.saleshdr");
List<WebElement> elements = driver.findElements(elem);
System.out.println("Number of Items found: "+elements.size());
当我检查元素数组的大小时,它总是为零。
然而,我发现当我将选择器字符串放入Selenium IDE (2.9.1)
并使用“查找”按钮时,它会识别正确的网页元素而不会有任何问题。
我不知道为什么它适用于IDE
而不是我的代码。
答案 0 :(得分:0)
尝试使用XPath选择元素?在过去,当我遇到使用cssSelector选择某些内容的问题时,我经常尝试使用XPath时取得了成功。
答案 1 :(得分:0)
在你选择的选择器前等待一段时间。
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
List<WebElement> elements = driver.findElements(By.cssSelector("div.prdbox.saleshdr"));
System.out.println("Number of Items found: "+elements.size());
或尝试在Xpath或id的帮助下找到元素。
List<WebElement> elements = driver.findElements(By.xpath("your xpath"));
希望它能帮到你