Программное нажатие на элементы Webview

115
21 апреля 2021, 22:40

Тренируюсь в создании парсера, работающего в приложении android и умеющего взаимодействовать с разбираемым сайтом. Не могу понять как сделать программное нажатие на один из элементов сайта. Код который собрал по старым темам отказывается нажимать на указанное поле:

     public class MainActivity extends AppCompatActivity {
    WebView myWebView;
    TextView tView;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        tView = (TextView) findViewById(R.id.tView);
        myWebView = (WebView)findViewById(R.id.myWebView);
        myWebView.getSettings().setJavaScriptEnabled(true);
        myWebView.addJavascriptInterface(new HtmlHandler(), "HtmlHandler");
        myWebView.setWebViewClient(new WebViewClient() {
            @Override
            public void onPageFinished(WebView view, String url) {
                super.onPageFinished(view, url);
                /*1*/myWebView.loadUrl("javascript:document.getElementsByClassName('story__title')[3].click();");
                /*2*/myWebView.loadUrl("javascript:HtmlHandler.handleHtml(document.getElementsByTagName('html')[0].innerHTML);");
        }});
                myWebView.loadUrl("https://m.pikabu.ru/");
}
class HtmlHandler {
    @JavascriptInterface
    public void handleHtml(String html) {
        Document doc = Jsoup.parse(html);
        final String title = doc.title();
        runOnUiThread(new Runnable() {
            @Override
            public void run() {
                tView.setText(title);
            }
        });
    }
}
}

Причем код из строки 2 выполняется, но строка 1 с нажатием игнорируется. Элемент на который хочу нажать:

    <h2 class="story__title">
<a href="https://pikabu.ru/story/kazusfaktor_6826047" class="story__title-link story__title-link_visited">Казус-фактор</a>
</h2>
READ ALSO
Пытаюсь внедрять сценарии Ruby в spring

Пытаюсь внедрять сценарии Ruby в spring

Пытаюсь внедрять сценарии Ruby в spring из книги springinaction,бросает исключение в xml файле, наверное как-то не так сделал расположение файлов или еще...

143
Не запускается .jar файл с JavaFX

Не запускается .jar файл с JavaFX

В Eclipse все компилируется, а вот когда я запаковалjar файл, он вообще не открывается

119
Как установить зависимость в Intelij Idea?

Как установить зависимость в Intelij Idea?

Как в модуле установить зависимость от comintellij:annotations:12

126
Spring deserialize JSON to Java class

Spring deserialize JSON to Java class

Нужно срочно поднять сервис, а он валится от того, что ему приходит не такой response как он ожидает для того, что спарсить json в классМоделька имеет...

90