我如何在循环中检查 JavascriptExecutor?
How can i Check JavascriptExecutor in loop?
如果字符串出错,我想退出循环,我无法检查它是否为空。
循环使用2个脚本并获取所有单元格,最后编译器报错。
如何在计算最后一个字符串(错误时间)之前退出?
谢谢
String script3 = "return document.getElementsByTagName('g')[" + f9 + "].textContent";
n = (String) ((JavascriptExecutor) driver).executeScript(script3, hiddenDiv);
n
获取所有标签(g),最后给出一个非空错误,所以我无法停止循环。
我想在错误之前停止循环。
我这样做是为了计算标签。
使用 try
catch
捕获错误并打破循环
for(...)
{
try
{
//your javascript code HERE
}
catch(Exception ex)
{
string exMessage = getMessage();
break;
}
}
您可以使用findElements
方法获取所有g
标签
List<WebElement> gTags = driver.findElements(By.tagName("g"));
并获取g
个标签的数量
int size = gTags.size();
有几种方法可以做到这一点。我会像下面那样做。基本上你使用 Java 脚本来获取所有 g
标签,遍历它们收集它们的 .textContent
,然后 return 那个 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);
如果字符串出错,我想退出循环,我无法检查它是否为空。
循环使用2个脚本并获取所有单元格,最后编译器报错。
如何在计算最后一个字符串(错误时间)之前退出?
谢谢
String script3 = "return document.getElementsByTagName('g')[" + f9 + "].textContent";
n = (String) ((JavascriptExecutor) driver).executeScript(script3, hiddenDiv);
n
获取所有标签(g),最后给出一个非空错误,所以我无法停止循环。
我想在错误之前停止循环。
我这样做是为了计算标签。
使用 try
catch
捕获错误并打破循环
for(...)
{
try
{
//your javascript code HERE
}
catch(Exception ex)
{
string exMessage = getMessage();
break;
}
}
您可以使用findElements
方法获取所有g
标签
List<WebElement> gTags = driver.findElements(By.tagName("g"));
并获取g
个标签的数量
int size = gTags.size();
有几种方法可以做到这一点。我会像下面那样做。基本上你使用 Java 脚本来获取所有 g
标签,遍历它们收集它们的 .textContent
,然后 return 那个 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);