Я автоматизирую WhatsApp Web
с помощью selenium
автоматизации браузера, используя java
и Chrome
Ниже работает код:
// Update a cell value
DefaultTableModel dtm = (DefaultTableModel) jTable1.getModel();
try
{
WebDriverWait wait = new WebDriverWait(driver, 60);
wait.until(ExpectedConditions.visibilityOfElementLocated(By.id("side")));
System.out.println("Logged In....");
for (int i = 0; i < SendToList.size(); i++)
{
String Number = SendToList.get(i);
System.out.println("Opening link....");
driver.get("https://web.whatsapp.com/send?phone="+Number);
try
{
Alert alert = driver.switchTo().alert();
alert.accept();
System.out.println("Alert accepted....");
}
catch(NoAlertPresentException e)
{
System.out.println("Alert not detected....");
}
System.out.println("Proceeding ahead....");
try
{
WebDriverWait await = new WebDriverWait(driver, 12);
await.until(ExpectedConditions.visibilityOfElementLocated(By.id("main")));
System.out.println("In Message to...."+Number);
driver.findElement(By.className("_2S1VP")).sendKeys(TextMessage);
System.out.println("Message written....");
driver.findElement(By.className("_2lkdt")).click();
System.out.println("Message sent....");
dtm.setValueAt("SENT", i, 3);
Thread.sleep(4000);
}
catch (TimeoutException e)
{
driver.findElement(By.xpath("//div[@class='_1WZqU PNlAR']")).click();
dtm.setValueAt("N/A", i, 3);
System.out.println("Element not found...");
}
catch (InterruptedException e)
{
System.out.println("Could not sleep for 1 seconds or failed to send sms...");
}
}
}
catch(Exception e)
{
for (int i = 0; i < SendToList.size(); i++)
{
dtm.setValueAt("FAILED", i, 3);
}
JOptionPane.showMessageDialog(this, "You must login within 60 seconds to WhatsApp...!!", "Alert", JOptionPane.ERROR_MESSAGE);
}
Есть несколько вещей, которые я хочу сделатьРазрешить это можно следующим образом:
- В большинстве случаев, даже если вы вошли в систему до 60 секунд, а после отправки 2 или 3 сообщений вы должны войти в систему в течение 60 секунд;что невозможно ... но все же происходит ..
- Я хочу выполнить цикл только при успешном входе в систему ... и также хочу обрабатывать все исключения в каждом цикле ... и даже если возникает исключение, он должен продолжить следующий цикл.Как именно попытаться перехватить исключение должно быть помещено ... !!
- Перезагрузка всего URL снова и снова для отправки каждого сообщения занимает много времени и пропускной способности тоже. Как я могу управлять этим с помощью JavaScript без необходимостиперезагрузите его снова и снова.
Благодарю вас всех