如果字符串出错,我想退出循环,我无法检查它是否为空。
循环占用2个脚本并占用所有单元格,最后编译器会出错。
如何在计算最后一个字符串(错误时间)之前退出?
由于
String script3 = "return document.getElementsByTagName('g')[" + f9 + "].textContent";
n = (String) ((JavascriptExecutor) driver).executeScript(script3, hiddenDiv);
n
获取所有标签(g),最后它给出的错误不为空,所以我不能停止循环。
我想在错误发生之前停止循环。
我这样做是为了计算标签。
答案 0 :(得分:1)
您可以使用g
方法获取所有findElements
代码
List<WebElement> gTags = driver.findElements(By.tagName("g"));
获取g
代码的数量
int size = gTags.size();
答案 1 :(得分:0)
使用try
catch
来捕获错误并打破循环
for(...)
{
try
{
//your javascript code HERE
}
catch(Exception ex)
{
string exMessage = getMessage();
break;
}
}
答案 2 :(得分:0)
有几种方法可以做到这一点。我会像下面这样做。基本上,您使用Javascript来获取所有g
标记,循环收集它们的.textContent
,然后将List
返回到您的Java代码。然后,您可以在Java中循环遍历List
并执行任何操作。
String script3 = "var strings = []; var g = document.getElementsByTagName('g'); for (var i = 0; i < g.length; i++) { strings.push(g[i].textContent); } return strings;";
List<String> s = (List<String>) ((JavascriptExecutor) driver).executeScript(script3);
System.out.println(s);