Selenium webdriver By.className(“className”)和By.cssSelector(“class=”x27;className&“x27;””)返回selenium中不同数量的元素
我在学习Selenium时遇到了一个问题,我发现By.cssSelector(“[class='day']”)和By.className(“day”)返回的元素数不同,尽管它们是相同的 我发现,当我使用By.className(“day”)时,日历中的禁用日期也会被选中,而理想情况下它不应该被选中,因为这些禁用日期的类名是“old day”而不是“day” 驱动程序。获取(“”) driver.findElement(按名称(“旅行日期”))。单击() 列表元素=driver.findElements(By.cssSelector(“[class]) “日”]”) List elements1=driver.findElements(By.className(“day”) System.out.println(elements.size()) System.out.println(elements1.size()) 预期:应返回30个元素。 实际:Selenium webdriver By.className(“className”)和By.cssSelector(“class=”x27;className&“x27;””)返回selenium中不同数量的元素,selenium-webdriver,dom,Selenium Webdriver,Dom,我在学习Selenium时遇到了一个问题,我发现By.cssSelector(“[class='day']”)和By.className(“day”)返回的元素数不同,尽管它们是相同的 我发现,当我使用By.className(“day”)时,日历中的禁用日期也会被选中,而理想情况下它不应该被选中,因为这些禁用日期的类名是“old day”而不是“day” 驱动程序。获取(“”) driver.findElement(按名称(“旅行日期”))。单击() 列表元素=driver.findEleme
使用Css选择器-我可以看到30,但使用Classname-我可以看到42。我认为问题在于以下几点:
By.className(“cls”)
返回具有该类的元素,例如:
By.cssSelector(“[class='cls']”)
返回属性与引号中的表达式完全相同的元素,例如:
- 没有别的了
==42$('.day')。长度
==31$('[class=day]')。长度
By.className(“cls”)
返回具有该类的元素,例如:
By.cssSelector(“[class='cls']”)
返回属性与引号中的表达式完全相同的元素,例如:
- 没有别的了
==42$('.day')。长度
==31$('[class=day]')。长度