照片显示了我正在使用的内容。对于4只动物中的每只动物,我需要选择相关的数量(它总是tr中的第3个td)。在下面的html中,您可以看到zebra的数量为1,而lion的数量为1。
我在课堂上找不到。也许你告诉我为什么。是因为字符串中的空格吗?
简单的xpath不起作用,因为tr标签会根据前一页上的用户输入而改变。
我也尝试用xpath选择contains方法无济于事。也许我只是做得不对。
答案 0 :(得分:0)
是的,如果Name中有空格,则不能使用className定位器,而是必须使用cssselector或xpath。
// css selector
driver.findElement(By.cssSelector(".line_item.Zebra"));
//xpath should also work
driver.findElements(By.xpath("//*[@class='line_item Zebra']"));
答案 1 :(得分:0)
line_item Zebra
是同一WebElement
的两个类。您只能通过className
找到其中一个
driver.findElement(By.className("Zebra"));
如果您想要所有动物,可以使用line_item
课程。这会给你所有的动物
List<WebElement> animals = driver.findElements(By.className("line_item"));
animals
现在包含类line_item
的四个元素的列表。要获得每个<td>
中的第三个WebElements
,您可以使用列表中的for (WebElement animal : animals) {
List<WebElement> tds = animal.findElements(By.tagNmae("td")); // all the <td> tags in that animal
String quantity = tds.get(2).getText(); // get the text of the third <td>
}
Actor