我正在尝试获取此xpath的字符串或整数,但是当我使用this时,会出现一些错误,例如xpath不可见。
我正在使用的xpath是这样的:
count(//tr[@class='dataRow even first last']//following::input[text()='Ferrocaril'])
当我使用xpath助手知道我得到了什么时,它显示为“ 1”,这很好,因为有1个具有该值的xpath,但是在其他情况下,该值大于1。
所以我不确定在这种情况下如何断言。
assert.assertequals在我的情况下不起作用。
我在Java中使用硒。
答案 0 :(得分:0)
List方法将返回Node或Nodeset的WebElements-您将有一个错误。
解决方案是使用findElements()方法和不带count()函数的XPath表达式,一经完成,您将可以根据预期值声明返回的列表大小。
示例(假设TestNG framework):
List<WebElement> matches = driver.findElements(By.xpath("//tr[@class='dataRow even first last']//following::input[text()='Ferrocaril']"));
org.testng.Assert.assertEquals(matches.size(), 1, "Failed to find expected text in the table");