public void leerReportesEspionaje() { Db db = new Db(); double metal, cristal, duty; List<WebElement> espionajes = driver.findElements(By.partialLinkText("Reporte de espionaje de")); WebElement espia; List<WebElement> flotas; boolean sindef = true; String helper; for (WebElement row : espionajes) { driver.switchTo().defaultContent(); row.click(); try { (new WebDriverWait(driver, 10)) .until( new ExpectedCondition<Boolean>() { public Boolean apply(WebDriver d) { return d.findElement(By.id("TB_iframeContent")).isEnabled(); } }); // ((JavascriptExecutor) driver).executeScript("$(\".success\").remove();"); } catch (Exception e) { consola("Error: Mensajes: No abre Iframe - " + e.getMessage()); consola("Reintentando"); row.click(); (new WebDriverWait(driver, 10)) .until( new ExpectedCondition<Boolean>() { public Boolean apply(WebDriver d) { return d.findElement(By.id("TB_iframeContent")).isEnabled(); } }); } driver.switchTo().frame("TB_iframeContent"); try { (new WebDriverWait(driver, 30)) .until( new ExpectedCondition<Boolean>() { public Boolean apply(WebDriver d) { return d.findElement(By.id("showmessage")).isEnabled(); } }); consola("Log: Mensajes: Espionaje cargado"); // ((JavascriptExecutor) driver).executeScript("$(\".success\").remove();"); } catch (Exception e) { consola("Error: Mensajes: Error Espionaje cargado - " + e.getMessage()); } espia = driver.findElement(By.className("spy2")); for (WebElement td : espia.findElements(By.tagName("td"))) { consola(td.getText()); } helper = driver.findElement(By.xpath("/html/body/div/div[2]/table/tbody/tr[3]/td")).getText(); consola(helper.substring(helper.indexOf("[") + 1, helper.indexOf("]"))); // fleetdefbuildings spy flotas = driver.findElements(By.className("fleetdefbuildings")); if (flotas.size() > 0) if (("Flotas".equals(flotas.get(0).findElement(By.tagName("th")).getText())) && (flotas.get(0).findElements(By.tagName("td")).size() == 0)) { consola("no hay flotas"); if ((flotas.size() > 1) && ("Defensa".equals(flotas.get(1).findElement(By.tagName("th")).getText()))) { for (WebElement d : flotas.get(1).findElements(By.className("key"))) { if (!d.getText().startsWith("Misil")) sindef = false; consola("Aqui hay " + d.getText()); } if (sindef) { metal = Double.valueOf( EliminaCaracteres( espia.findElements(By.tagName("td")).get(1).getText(), ".")); cristal = Double.valueOf( EliminaCaracteres( espia.findElements(By.tagName("td")).get(3).getText(), ".")); duty = Double.valueOf( EliminaCaracteres( espia.findElements(By.tagName("td")).get(5).getText(), ".")); db.setEspionaje( helper.substring(helper.indexOf("[") + 1, helper.indexOf("]")), metal, cristal, duty, planeta); } sindef = true; } } driver.findElement(By.className("closeTB")).click(); try { Thread.sleep(200); } catch (InterruptedException ex) { consola("Error: no duerme para cerrar mensajes"); // Logger.getLogger(Bot.class.getName()).log(Level.SEVERE, null, ex); } } }