0

Я хочу выйти из цикла, если строка дает ошибку, я не могу проверить, является ли она нулевой.Как я могу проверить JavascriptExecutor в цикле?

Петля берут 2 сценарии и принимать все клетки, в конце концов, компилятор выдаст сообщение об ошибке.

Как я могу выйти перед вычислением последней строки (время ошибки)?

Благодаря

String script3 = "return document.getElementsByTagName('g')[" + f9 + "].textContent"; 
n = (String) ((JavascriptExecutor) driver).executeScript(script3, hiddenDiv); 

n принимает все тэги (г), в конце концов, это приведет к ошибке не нулевой, так что я не могу остановить цикл.

Я хочу остановить цикл перед ошибкой.

Я делаю это, чтобы считать теги.

ответ

0

использование trycatch для ловли ошибки и нарушения цикла

for(...) 
{ 
    try 
    { 
     //your javascript code HERE 
    } 
    catch(Exception ex) 
    { 
     string exMessage = getMessage(); 
     break; 
    } 
} 
+0

что мы пишем внутри улова? – Mind5

+0

от ex вы можете получить всю информацию об исключении –

1

Вы можете получить все g тегов используя findElements метод

List<WebElement> gTags = driver.findElements(By.tagName("g")); 

И получить количество g тегов

int size = gTags.size(); 
+0

Но g теги внутри скрытого элемента. – Mind5

0

Существует несколько способов сделать это. Я бы сделал это, как показано ниже. В основном вы используете Javascript, чтобы захватить все теги g, прокрутите их, собирая их .textContent, а затем верните это List в код Java. Затем вы можете пройти через List на Java и сделать что угодно.

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);