Получить видимый текст из WebView - JavaFX - PullRequest
0 голосов
/ 12 декабря 2018

Я работаю над проектом JavaFX.По какой-то сложной причине мне нужно получить весь видимый текст в WebView.Кроме того, видимый текст меняется со временем, поэтому мне нужно получать его всякий раз, когда он меняется.Я загружаю файл php в engine.

Я пытался использовать view.getAccessibleText() и engine.getDocument().getTextContent() без каких-либо возвращаемых значений.Я также пытался зацикливаться, пока не получу некоторые возвращаемые значения из предыдущих методов - опять же, безуспешно.Ответ в приведенной ниже ссылке не очень помогает, поскольку он предоставляет весь базовый код htmljavascript).

получить содержимое из веб-просмотра, используя javafx

    WebView view = new WebView();
    WebEngine engine = view.getEngine();
    engine.setJavaScriptEnabled(true);
    engine.load("php-file");
    StackPane root = new StackPane();
    root.getChildren().add(view);
    Scene scene = new Scene(root, 500, 500);
    Stage stage = new Stage();
    stage.setScene(scene);
    stage.show();

    Task<Boolean> task = new Task<Boolean>() {

    @Override
    protected Boolean call() throws Exception {
        int counter = 0;
        while(view.getAccessibleText() == null || view.getAccessibleText().isEmpty) { // or engine.getDocument().getTextContent()
            if (counter == 300) {
                return false;
            }
            Delay.delay(1000); // Delays for 1000 ms
            counter++;  
        }
        System.out.println(view.getAccessibleText());
        if (view.getAccessibleText().contains("desiredText")) {
            return true;
        }
        return false;
    };

    task.setOnSucceeded(e-> {
        System.out.println(task.getValue());
    };
    Thread t = new Thread(task);
    t.start();

PHP-файл

http://www.mediafire.com/file/rrfocuwjq2ycs17/2.php/file

Обратите внимание, что у меня средний опыт в php и очень небольшой опыт в javascript.Это php было предоставлено сотрудником.Так что путь через java приветствуется.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...