Pessoal o código abaixo tem a função de clicar duas vezes numa região da tela do navegador internet explorer e capturar o texto nesta posição, faço isso para saber se a tela carregou, pois só aparece texto nesta coordenada se a tela foi carregada. Fiz uma estrutura utilizando o "While" de forma que o programa fique em looping até que a pagina tenha sido carregada, o problema é que ocorre um erro quando não exite texto para capturar, ou seja, quando a seleção é nula. Alguém poderia me ajudar? Segue abaixo o erro ocorrido e o código. Obrigado.
Erro:
Exception in thread "main" java.awt.datatransfer.UnsupportedFlavorException: Unicode String
at sun.awt.datatransfer.ClipboardTransferable.getTransferData(Unknown Source)
at robo.Seleciona.main(Seleciona.java:65)
A linha 65 corresponde a essa parte do codigo:
String copyResult = (String)contents.getTransferData(DataFlavor.stringFlavor);
Codigo:
package robo;
import static java.awt.event.KeyEvent.VK_C;
import static java.awt.event.KeyEvent.VK_CONTROL;
import java.awt.AWTException;
import java.awt.Robot;
import java.awt.Toolkit;
import java.awt.datatransfer.Clipboard;
import java.awt.datatransfer.DataFlavor;
import java.awt.datatransfer.StringSelection;
import java.awt.datatransfer.Transferable;
import java.awt.datatransfer.UnsupportedFlavorException;
import java.awt.event.InputEvent;
import java.io.IOException;
import jxl.read.biff.BiffException;
public class Seleciona {
public static void main(String[] args)throws AWTException, IOException, BiffException, UnsupportedFlavorException, InterruptedException{
final Integer TIME_CONST = 10;
Robot robot = new Robot();
RobotManager manager = new RobotManager(robot);
robot.delay(3000);
int contador = 0;
while (contador==0){
Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard();
StringSelection str = new StringSelection( null );
clipboard.setContents(str, null);
robot.mouseMove(405,432);
Thread.sleep(TIME_CONST);
robot.mousePress(InputEvent.BUTTON1_MASK);
robot.mouseRelease(InputEvent.BUTTON1_MASK);
robot.mousePress(InputEvent.BUTTON1_MASK);
robot.mouseRelease(InputEvent.BUTTON1_MASK);
Thread.sleep(TIME_CONST);
manager.typeSequence(VK_CONTROL,VK_C);
Thread.sleep(TIME_CONST);
Transferable contents;
try {
contents = clipboard.getContents(clipboard);
String copyResult = (String)contents.getTransferData(DataFlavor.stringFlavor);
if(copyResult!=null){
System.out.println(copyResult);
contador=1;
}
} catch (IOException e) {
contents = null;
}
}
}
}