自动化场景是获取weblist和&amp ;;中的所有链接。然后在循环外获取此arraylist内容,然后根据url hit动态获取索引号。
String values="";
List<WebElement> url_link = driver.findElements(By.cssSelector(".anomaly>a"));
for ( WebElement we: url_link) {
String temp = values;
values = temp + we.getText();
}
System.out.println("Text "+values);
int ind=values.indexOf("www.test.com");
System.out.println("Index "+ind);
上面的代码给我一个奇怪的索引号74.
url_link输出内容为:
wwww.hatch.com
wwww.tist.com
wwww.helix.com
wwww.patching.com
wwww.seyh.com
wwww.test.com
wwww.toast.com
wwww.telling.com
wwww.uity.com
所以基于预期的结果,我期望索引号为5。
任何帮助将不胜感激。
答案 0 :(得分:2)
变量values
是String
类型的变量,它不是List
。因此,当您执行values = temp + we.getText();
时,您基本上将所有链接附加到单个String
中。所以输出实际上是这样的:
wwww.hatch.comwwww.tist.comwwww.helix.comwwww.patching.comwwww.seyh.comwwww.test.comwwww.toast.comwwww.telling.comwwww.uity.com
此字符串中www.test.com
的索引为74。您应该在ArrayList
中添加这些链接,然后找到您要搜索的链接的索引。
这样的事情应该有效:
List<String> values = new ArrayList<String>();
List<WebElement> url_link = driver.findElements(By.cssSelector(".anomaly>a"));
for ( WebElement we: url_link) {
values.add(we.getText());
}
int ind = values.indexOf("www.test.com");
System.out.println("Index "+ind);